Cuprins:

Capul domnului Wallplate se întoarce pentru a vă urmări: 9 pași (cu imagini)
Capul domnului Wallplate se întoarce pentru a vă urmări: 9 pași (cu imagini)

Video: Capul domnului Wallplate se întoarce pentru a vă urmări: 9 pași (cu imagini)

Video: Capul domnului Wallplate se întoarce pentru a vă urmări: 9 pași (cu imagini)
Video: Book 10 - The Hunchback of Notre Dame Audiobook by Victor Hugo (Chs 1-7) 2024, Septembrie
Anonim
Image
Image
Motor pentru senzor
Motor pentru senzor

Aceasta este o versiune mai avansată a robotului Eye Illusion al domnului Wallplate https://www.instructables.com/id/Mr-Wallplates-Eye-Illusion. Un senzor cu ultrasunete permite capului domnului Wallplate să vă urmărească în timp ce mergeți în fața lui.

Procesul poate fi rezumat după cum urmează. Senzorul se rotește mai întâi în sens invers acelor de ceasornic (stânga) 60 de grade, apoi se întoarce la dreapta în timp ce scanează un obiect mai aproape de 3 picioare. Dacă nu detectează nimic înainte de a atinge 60 de grade la dreapta, repetă virajul la stânga și apoi scanează până când detectează un obiect. Apoi capul se întoarce spre el, senzorul se rotește la stânga la limita stângă (-60 grade) și scanează din nou spre dreapta. Această rotire a capului și scanarea continuă până când obiectul se mișcă înapoi mai mult de 3 picioare sau merge prea departe la stânga sau la dreapta. Un rezumat mai detaliat al logicii programului este la pasul # 6.

Această metodă de urmărire nu este potrivită pentru obiecte în mișcare rapidă, după cum reiese din videoclip. Există câteva comentarii la sfârșitul acestei scrieri, care descriu o altă metodă de urmărire utilizând mai mulți senzori cu ultrasunete.

Motorul senzorului este setat să se deplaseze la o viteză destul de mică. Am încercat viteze mai mari, dar au dus la mișcări sacadate care nu arătau bine, iar urmărirea nu a fost mult mai rapidă.

Un punct interesant este că senzorul funcționează cel mai bine pentru a detecta obiecte cu suprafețe dure care reflectă bine sunetul. Este posibil ca un obiect cu o suprafață moale, cum ar fi cineva care poartă un pulover gros, să nu fie detectat deloc atunci când este prea departe (mai mult de aproximativ 3 ½ picioare în testele mele). Când am ținut o bucată de carton ondulat de aproximativ 13”x20” în fața mea și am mers spre senzor, m-a detectat la aproximativ 8 metri distanță.

În videoclip, am rămas în mod intenționat la aproximativ 2 ½ metri distanță în timp ce mă deplasam în lateral, pentru a avea senzorul și capul îndreptate spre mine. La testele la distanțe mai apropiate, senzorul a arătat oarecum spre stânga, deoarece marginea dreaptă a câmpului vizual al senzorului mi-a detectat brațul. Câmpul vizual este de aproximativ 25 sau 30 de grade.

Software-ul Mindstorms EV3 de pe computer este folosit pentru a genera un program, care este apoi descărcat pe un microcontroler numit EV3 Brick. Metoda de programare este bazată pe pictograme, utilizând blocuri de programare, cum ar fi un bloc motor, un bloc cu senzori cu ultrasunete, un bloc matematic etc. Fiecare bloc are opțiuni și parametri. Este foarte ușor și versatil. De asemenea, în scopul testării, când Brick este conectat la computer și programul rulează, afișajul de pe computer arată în timp real, unghiul fiecărui motor și distanța pe care senzorul o detectează un obiect. Mai mult, cursorul mouse-ului poate fi poziționat peste un Data Wire în program, iar valoarea acelui Data Wire (în timp real) este afișată într-o fereastră mică lângă cursor. (Un fir de date este utilizat pentru a transporta valori de la un bloc de programare la altul.)

Provizii

  1. Set LEGO Mindstorms EV3.
  2. Senzor cu ultrasunete LEGO Mindstorms EV3. Nu este inclus în setul EV3.
  3. 2 recipiente rotunde, din plastic, pentru a scoate, cu un diametru de cel puțin 6 ¼ inci (16 cm) și 1 ¾ inci (4 ½ cm) înălțime. Sau, o cadă cu același diametru și o înălțime de aproximativ 3 ½ inci ar fi, de asemenea, în regulă.
  4. 4 șuruburi cu cap plat, # 4, 1 ½ inci (aproximativ 4 cm) lungime.
  5. 4 piulițe pentru șuruburi.
  6. 2 șuruburi cu cap rotund # 6, de aproximativ ½ inch (1 cm) lungime, de preferință de aceeași culoare ca și recipientele pentru scoatere.

INSTRUMENTE:

  1. Burghiu și burghie.
  2. Şurubelniţă.
  3. Foarfece.

Pasul 1: Motor pentru senzor

Motor pentru senzor
Motor pentru senzor
Motor pentru senzor
Motor pentru senzor
Motor pentru senzor
Motor pentru senzor

Așezați un motor mare în interiorul unuia dintre recipientele de scoatere și marcați unde să găuriți 2 găuri pe fund. Recipientele mele au o indentare circulară și am decis să fac găurile chiar în interiorul ei, astfel încât capetele șuruburilor să nu iasă și să facă unitatea să se clatine.

Atașați motorul folosind 2 șuruburi care urcă prin găuri, cu elemente LEGO negre cu 3 găuri pentru a susține motorul.

Folosind foarfeca, tăiați o bucată din spatele recipientului pentru a face spațiu pentru cabluri.

Atașați senzorul cu ultrasunete la motor folosind cele 3 elemente LEGO gri așa cum se arată într-una din fotografii.

Pasul 2: Motor pentru cap

Motor pentru cap
Motor pentru cap
Motor pentru cap
Motor pentru cap
Motor pentru cap
Motor pentru cap

Mai întâi, utilizați foarfecele pentru a tăia buza verticală de pe celălalt recipient de extragere, astfel încât să se potrivească cu capul în jos în marginea primului container. Cele 2 jante orizontale vor fi atașate ulterior cu șuruburi, pentru a menține cele 2 containere fixate ferm.

Așezați celălalt motor mare deasupra recipientului de scoatere cu capul în jos, cu conexiunea cablului la aproximativ ½ inch peste margine. Acest lucru este necesar pentru ca capul să se potrivească corect pe recipient. Marcați și găuriți 2 găuri pentru cele 2 cele mai îndepărtate găuri ale motorului.

Atașați motorul folosind 2 șuruburi care urcă prin găuri, cu elemente negre cu 3 găuri pentru a susține motorul.

Folosind foarfeca, tăiați o bucată din partea laterală a recipientului, pentru a face un spațiu de aproximativ 4 ½ inci (11 cm) lățime. Acest lucru este necesar pentru ca senzorul cu ultrasunete să iasă și să se deplaseze dintr-o parte în alta. Axa motorului ar trebui să se alinieze cu mijlocul spațiului.

Pasul 3: Modificați capul

Modificați capul
Modificați capul
Modificați capul
Modificați capul
Modificați capul
Modificați capul

Ia capul Mr. Wallplate de la „Mr. Wallplate’s Eye Illusion”și scoateți suportul din spate. Poate fi pur și simplu îndepărtat.

Referindu-vă la una dintre fotografii, luați 2 elemente negre în formă de X și 2 elemente albastre care au o secțiune transversală ca un „X” la un capăt și un „O” la celălalt capăt. Atașați-le la elementul inferior de pe cap așa cum se arată. Capul va aluneca în jurul recipientului pe ele.

Pasul 4: Atașați capul la motor

Atașați capul la motor
Atașați capul la motor
Atașați capul la motor
Atașați capul la motor
Atașați capul la motor
Atașați capul la motor

Luați elementele prezentate în prima fotografie (cu excepția celei lungi) și atașați-le împreună așa cum se arată în a doua fotografie. Apoi atașați-l lângă partea de jos a capului, așa cum se arată. Acest lucru va sprijini capul și îl va împiedica să dea din cap în sus și în jos.

Atașați motorul la orificiile de sub motorul buzelor, utilizând elementul lung, gri, cu secțiune transversală X. Glisați elementul mai departe, la suportul din paragraful anterior, așa cum se arată.

Pasul 5: Conectați caramida EV3 la Mr. Wallplate

Conectați caramida EV3 la Mr. Wallplate
Conectați caramida EV3 la Mr. Wallplate
Conectați caramida EV3 la Mr. Wallplate
Conectați caramida EV3 la Mr. Wallplate

Cablurile plate din setul EV3 se conectează la Brick după cum urmează:

Port A: cablu de 14 inch (35 cm) la micul motor de buze.

Port B: cablu de 10 inch (26 cm) la motorul mare pentru cap.

Port C: cablu de 14 inch (35 cm) la motorul mare pentru senzorul cu ultrasunete.

Portul 4: Cel mai lung cablu către senzorul cu ultrasunete, cu o buclă lângă Brick. Bucla va permite senzorului să se deplaseze mai bine.

Verificați dacă senzorul este orientat direct din recipient. Puteți roti motorul senzorului cu mâna. Așezați ansamblul capului deasupra recipientului senzorului, astfel încât senzorul să iasă din mijlocul spațiului. Găsește 2 găuri pilot prin ambele jante ale containerului, la aproximativ 1 inch, peste marginile golului. Treceți cele 2 șuruburi prin aceste găuri pentru a menține cele două recipiente atașate ferm.

Pasul 6: Descrierea programului

Logica programului este rezumată mai jos. Cred că pașii # 3 și # 6 ar fi probabil diferiți într-un program pentru un alt sistem, cum ar fi Arduino. LEGO Mindstorms EV3 este foarte util și ușor de utilizat, dar există unele limitări în ceea ce se poate face. Singurul mod de scanare pe care l-am putut da seama a fost să rotesc senzorul cu 10 grade la un moment dat și să verific dacă un obiect a fost detectat.

  1. Inițializare: setați variabilele la zero și așteptați 7 secunde.
  2. Rotiți senzorul în sens invers acelor de ceasornic (stânga), la limita din stânga (-60 grade).
  3. Rotiți senzorul cu 10 grade la dreapta.
  4. Senzorul s-a mutat la limita corectă (+60 grade)?
  5. Dacă da, verificați dacă a fost detectat cineva. Dacă nu este detectat, senzorul se rotește cu 120 de grade la stânga și programul continuă cu pasul următor. Dacă este detectată, atunci persoana s-a îndepărtat. Programul spune „La revedere”, capul și senzorul se întorc spre față, iar programul se oprește.
  6. Reveniți la pasul 3 dacă senzorul nu vede nimic în limita a 36 inci.
  7. Acest pas se execută dacă senzorul a detectat ceva în limita a 36 inci. Întoarceți capul cu fața către persoana detectată. Dacă nimeni nu a fost detectat anterior, spuneți „Bună ziua”.
  8. Reveniți la pasul 2 pentru a continua scanarea. Dar dacă bucla se repetă de 20 de ori, programul continuă cu pasul următor.
  9. Spune „Joc terminat”. Capul și senzorul se răsucesc spre față și programul se oprește.

Pasul 7: Construiți programul

Construiți programul
Construiți programul
Construiți programul
Construiți programul
Construiți programul
Construiți programul

LEGO Mindstorms EV3 are o metodă de programare foarte convenabilă bazată pe pictograme. Blocurile de programare sunt afișate în partea de jos a ecranului de afișare și pot fi glisate și plasate în fereastra Programming Canvas pentru a construi un program. Am construit 4 „Blocurile mele”, care sunt mini-programe, precum subrutine din programele obișnuite. Acest lucru a făcut mai ușor de înțeles logica programului principal din captura de ecran.

Nu mi-am putut da seama cum să configurez descărcarea programului pentru voi, așa că am inclus capturi de ecran ale programului. Capturile de ecran au comentarii care descriu ce fac blocurile. Nu ar trebui să dureze mult timp pentru a-l construi și / sau a-l schimba pentru a se potrivi nevoilor dumneavoastră. Capturile de ecran sunt afișate în următoarea ordine:

  1. Programul principal.
  2. „Inițializați” blocul meu.
  3. „Rotiți senzorul la stânga la limita din stânga” My Block.
  4. „Întoarce capul” My Block.
  5. „Termină” blocul meu.

La construirea acestui program, aș sugera următoarele:

  1. Construiți mai întâi „Blocurile mele”.
  2. Este important să lucrați de la stânga la dreapta și să măriți buclele și comutați blocurile înainte de a trage alte blocuri în interior. Am întâmpinat probleme dezordonate încercând să introduc blocuri suplimentare în bucle în timpul testării și rafinării programului aproape terminat.
  3. Blocul Loop mai mare ar trebui mărit aproape la marginea dreaptă a Canvas-ului de programare, înainte de a începe să introduceți blocuri. Acest lucru este necesar pentru a avea suficient spațiu pentru a trage celelalte blocuri în interior. Se poate micșora după aceea.

Pasul 8: Descărcați programul pe caramida EV3

Caramida EV3 poate fi conectată la computer fie printr-un cablu USB, Wi-Fi sau Bluetooth. Când este conectat și pornit, acest lucru este indicat într-o mică fereastră din colțul din dreapta jos al ferestrei EV3 de pe computer. Dacă faceți clic pe pictograma corespunzătoare din partea dreaptă din colțul din dreapta jos, veți descărca programul în caramida EV3 și îl veți rula imediat.

După descărcare, EV3 Brick poate fi deconectat de la computer și programul poate fi inițiat pe EV3 Brick.

Pasul 9: OBSERVAȚII CONCLUZIVE

Acesta a fost un proiect distractiv și educativ despre senzorul cu ultrasunete. Sper că vi se pare și interesant.

Există o altă abordare a scanării: mai mulți senzori cu ultrasunete ar putea fi amplasați unul lângă celălalt, ventilându-se la aproximativ 25 sau 30 de grade unul de celălalt. Capul s-ar putea roti în direcția oricărui senzor care a detectat un obiect. Această metodă ar detecta un obiect în mișcare rapidă mult mai bine decât metoda descrisă în proiectul de mai sus. Cu toate acestea, capul ar avea doar un număr mic de direcții cu care se va confrunta. Această metodă ar trebui să fie posibilă cu Mindstorms EV3. Caramida are 4 porturi de senzori pentru până la 4 senzori cu ultrasunete (programarea necesită un număr de port pentru un senzor). Mai mulți senzori ar putea fi găzduiți prin înlănțuirea unei a doua cărămizi.

O idee pentru creșterea numărului de poziții pentru cap: Dacă senzorii s-ar confrunta cu 20 de grade distanță, câmpurile vizuale s-ar suprapune și 2 senzori ar detecta un obiect în zona suprapusă. Capul ar putea fi apoi orientat în direcția suprapusă. Nu știu dacă acest lucru este posibil; adică dacă 2 senzori ar putea detecta un obiect în zona suprapusă fără ca semnalele lor să interfereze unul cu celălalt.

Recomandat: