Începem să studiem senzorul de infraroșu lego sensurile ev3

Senzorul de infraroșu include o versiune de acasă a avioanelor Lego EV3. Acesta este singurul senzor care poate fi folosit atât independent cât și asociat cu un far de infraroșu, care face parte și dintr-un set de acasă. Următoarele două lecții vor fi dedicate studiului acestor două dispozitive, precum și interacțiunii dintre ele.

8.1. Studiem senzorul infraroșu și baliza cu infraroșu

Începem să studiem senzorul de infraroșu lego sensurile ev3

Începem să studiem senzorul de infraroșu lego sensurile ev3

8.2. Senzor de infraroșu. Modul "Abordare"

Acest mod de funcționare a senzorului infraroșu este similar cu modul de detectare a distanței senzorului ultrasonic. Diferența constă în natura undelor luminoase: dacă undele sonore sunt reflectate de la majoritatea materialelor, practic fără atenuare, atunci reflectarea undelor luminoase este afectată nu numai de materiale, ci și de culoarea suprafeței. Culorile întunecate, spre deosebire de cele luminoase, absorb mai mult fluxul de lumină, ceea ce afectează funcționarea senzorului infraroșu. Domeniul de funcționare al senzorului infraroșu este, de asemenea, diferit de senzorul cu ultrasunete - senzorul prezintă valori cuprinse între 0 (subiectul este foarte apropiat) și 100 (obiectul este departe sau nu este detectat). Subliniem încă o dată: senzorul infraroșu nu poate fi utilizat pentru a determina distanța exactă față de obiect, deoarece culoarea sa în modul "Apropiere" este afectată de culoarea suprafeței obiectului studiat. La rândul său, această proprietate poate fi folosită pentru a distinge între obiecte luminoase și întunecate situate la o distanță egală față de robot. Cu sarcina de a determina obstacolul în fața sa, senzorul infraroșu este destul de reușit.

Rezolvăm o problemă practică similară cu Problema nr. 14 a Lecției # 7. Dar pentru a nu repeta, vom complica condiția cu cerințe suplimentare.

Numărul de sarcină 17: scrieți un program al robotului care se deplasează rectiliniu în fața unui perete sau a unui obstacol, deplasându-se ușor înapoi, întorcându-se la 90 de grade și continuând să vă deplasați la următorul obstacol.

Robotul colectat de instruirea robotului mic - 31313. Un senzor infraroșu este instalat în direcția amonte. Conectați-l cu un cablu la portul "3" al modulului EV3 și continuați să creați programul.

Luați în considerare blocul de programe "Așteptare" al paletei Orange prin comutarea pe modul: "Senzor infraroșu" - "Comparație" - "Apropiere" (Figura 3). În acest mod, blocul de programe "În așteptare" are doi parametri de intrare: "Tip de comparație" și "Valoare prag". Știm deja cum să ajustăm acești parametri.

Începem să studiem senzorul de infraroșu lego sensurile ev3

  1. Începeți direct
  2. Așteptați până când valoarea prag a senzorului infraroșu devine mai mică de 20
  3. Opriți mișcarea înainte
  4. Întoarceți o revoluție a motoarelor
  5. Rotiți la dreapta la 90 de grade (folosind cunoștințele Lecției 3, calculați unghiul de rotație necesar al motoarelor)
  6. Continuați cu pașii de la 1 la 5 într-o buclă infinită.

Încearcă să rezolvi singur problema nr. 17, fără a privi în soluție.

Soluția problemei # 17

8.3. Controlul la distanță al robotului utilizând un far cu infraroșu

Infraroșu, inclus în versiunea de acasă a designerului Lego mindstorms EV3, asociat cu un senzor infraroșu, vă permite să implementați controlul la distanță al robotului. Să ne cunoaștem mai aproape de far:

  1. Folosind un baliză infraroșu, direcționați emițătorul de semnal (Figura 5 poz. 1) spre robot. Nu trebuie să existe obstacole între baliză și robot! Datorită unui unghi larg de vizionare, senzorul infraroșu va primi cu siguranță semnale, chiar dacă baliza se află în spatele robotului!
  2. Pe corpul balizajului există 5 butoane gri (fig.5, element 2). a cărui apăsare recunoaște senzorul infraroșu și transmite codurile de împingere către programul care controlează robotul.
  3. Cu ajutorul unui întrerupător roșu special (fig.5, element 3), puteți selecta unul dintre cele patru canale pentru comunicarea dintre far și senzor. Acest lucru se face astfel încât mai multe roboți pot fi controlate în imediata vecinătate.

Începem să studiem senzorul de infraroșu lego sensurile ev3

Numărul de sarcină 18: scrieți un program de control de la distanță al unui robot folosind un far cu infraroșu.

Știm deja că pentru a realiza posibilitatea selectării blocurilor de rulare, este necesar să utilizați software-ul "Comutare" al Orange Blender. Setați modul de operare al blocului "Comutare" în "Senzor infraroșu" - "Măsurare" - "Distanță" (Figura 6).

Începem să studiem senzorul de infraroșu lego sensurile ev3

Pentru a activa conexiunea dintre senzorul infraroșu și baliză, este necesar să setați valoarea corectă a parametrului "Canal" (figura 7 element 1) în funcție de canalul selectat de pe far! Fiecare container software al blocului "Switch" trebuie să fie asociat cu una dintre opțiunile posibile pentru apăsarea tastelor gri (Figura 7, pct. 2). Notă: unele opțiuni includ apăsarea simultană a două taste (tastele apăsate sunt marcate în roșu). În total, în blocul de programe "Switch" în acest mod, puteți procesa până la 12 condiții diferite (una dintre condiții trebuie selectată în funcție de condiția implicită). Adăugați containerele software în blocul "Comutare" făcând clic pe "+" (figura 7, pct. 3).

Începem să studiem senzorul de infraroșu lego sensurile ev3

Propunem implementarea următorului algoritm de control al robotului:

  • Apăsând butonul din stânga sus se rotește rotirea motorului din stânga, robotul se întoarce spre dreapta (figura 7, element 2: 1)
  • Apăsând butonul din dreapta sus rotiți rotația motorului din dreapta, robotul se rotește spre stânga (figura 7, valoarea 2: 3)
  • Apăsarea simultană a butoanelor din stânga și din dreapta activează rotația simultană a motoarelor din stânga și din dreapta, robotul se mișcă în față drept (fig. 7 element 2: 5)
  • Apăsarea simultană a butoanelor din stânga și din dreapta rotește rotația simultană a motorului din stânga și din dreapta, robotul se mișcă în direcție inversă în sens direct (figura 7, element 2: 8)
  • Dacă nu este apăsat niciun buton de baliză, robotul se oprește (valoarea din figura 7 a obiectului 2: 0).

Atunci când dezvoltați un algoritm de control de la distanță, trebuie să știți următoarele: când este apăsată una din combinațiile de butoane gri - farul infraroșu transmite în mod continuu semnalul corespunzător, dacă butoanele sunt eliberate, semnalul se oprește. Excepția este un buton gri orizontal separat (figura 7 după valoarea 2: 9). Acest buton are două stări: "ON" - "OFF". Când becul este pornit, baliza continuă să trimită un semnal, chiar dacă eliberați butonul (așa cum este indicat de LED-ul verde care luminează) pentru a opri trimiterea semnalului în acest mod - apăsați din nou butonul gri orizontal.

Să începem programul:

Algoritmul nostru de control de la distanță oferă 5 variante de comportament, în consecință programul nostru "Switch" va consta din cinci containere de software. Să o facem prin stabilirea lor.

  1. În mod prestabilit, atribuim o opțiune când nu se apasă niciun buton (fig.7, element 2: 0). Montați blocul de programe "Control independent al motoarelor" în recipient. off motoarele "B" și "C".
  2. În containerul variantei de apăsare a butonului din stânga sus (fig. 7 element 2: 1), setați blocul de programe "Big Motor". inclusiv motorul "B".
  3. În recipientul variantei de apăsare a butonului din dreapta sus (figura 7, element 2: 3), setați blocul de programe "Mare motor". inclusiv motorul "C".
  4. În recipientul variantei de apăsare simultană a butoanelor din stânga și din dreapta sus (fig. 7 element 2: 5), setați blocul de program "Control independent al motoarelor". Inclusiv rotirea motoarelor "B" și "C" înainte.
  5. În containerul variantei de apăsare simultană a butoanelor din stânga și din dreapta de jos (figura 7, element 2: 8) se va instala blocul de program "Control independent al motoarelor". inclusiv rotirea motoarelor "B" și "C" înapoi.
  6. Plasați blocul de programe "Comutare" personalizat în cadrul blocului de software "Cycle".

În cadrul schemei propuse, încercați să creați singur programul, fără a privi în soluție!

Soluția problemei nr. 18

Începem să studiem senzorul de infraroșu lego sensurile ev3

Vă mulțumesc foarte mult! Datorită lecțiilor minunate, totul funcționează! Încercăm toate sarcinile și, în cele din urmă, copilul a făcut o sarcină fără o singură greșeală! Și cel mai important, am făcut o înțelegere clară a tuturor acțiunilor!