Cuprins:

Robot de evitare cu ultrasunete folosind Arduino: 7 pași
Robot de evitare cu ultrasunete folosind Arduino: 7 pași

Video: Robot de evitare cu ultrasunete folosind Arduino: 7 pași

Video: Robot de evitare cu ultrasunete folosind Arduino: 7 pași
Video: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, Noiembrie
Anonim
Image
Image
Robot de evitare cu ultrasunete folosind Arduino
Robot de evitare cu ultrasunete folosind Arduino

În acest tutorial, vă voi arăta cum să vă faceți propriul robot care evită obstacolele! Vom folosi placa Arduino UNO și un senzor cu ultrasunete. Dacă robotul detectează un obiect în fața lui, cu ajutorul unui mic servomotor, scanează zona din stânga și din dreapta pentru a găsi cea mai bună modalitate de a întoarce. Are, de asemenea, un LED de notificare, un buzzer pentru a reda un sunet atunci când este detectat un obiect și un buton pentru schimbarea funcției robotului (oprit / înainte).

Este foarte ușor să o faci!

Pasul 1: Lucruri pe care trebuie să le faci

Lucruri pe care trebuie să le faci!
Lucruri pe care trebuie să le faci!
Lucruri pe care trebuie să le faci!
Lucruri pe care trebuie să le faci!
Lucruri pe care trebuie să le faci!
Lucruri pe care trebuie să le faci!
Lucruri pe care trebuie să le faci!
Lucruri pe care trebuie să le faci!

Pentru acest proiect veți avea nevoie de:

  1. Arduino UNO (cumpărați-l de pe gearbest.com)
  2. Mini panou de cumpărare (cumpărați-l de la gearbest.com)
  3. Modulul driverului motorului L298 (cumpărați-l de la gearbest.com)
  4. 2x motoare de curent continuu cu roți senzor cu ultrasunete HC-SR04 (cumpărați-l de la gearbest.com)
  5. Micro servomotor (cumpărați-l de la gearbest.com)
  6. Buton LED roșu Rezistor de 220 Ohm Suport baterie 9V (cu sau fără mufă de alimentare)
  7. 8 distanțieri (bărbat-femeie),
  8. 8 piulițe și 8 șuruburi, de asemenea, veți avea nevoie de unul mare (metal)

agrafă și o margele pentru a face roata de susținere din spate.

Pentru baza robotului, am folosit un Chasis acrilic de la Aliexpress. De asemenea, puteți utiliza o bucată de lemn sau metal (sau două plăci electrice).

Costul întregului proiect este de aproximativ 20 $

Instrumente: Mașină de găurit super adeziv șofer de echipaj adeziv pistol fierbinte (opțional) Putere:

Vom folosi o baterie de 9V pentru a porni robotul nostru, deoarece este mic și ieftin, dar nu este foarte puternic și va fi gol după aproximativ o oră. Luați în considerare dacă doriți să utilizați un pachet de baterii reîncărcabile (min 6V, max 7V) care va fi mai puternic, dar va fi și mai scump și mai mare decât bateria de 9V. Abonați-vă Canalul nostru YouTube Faceți clic aici

Pasul 2: Înțelegerea conceptelor

Înțelegerea conceptelor
Înțelegerea conceptelor
Înțelegerea conceptelor
Înțelegerea conceptelor
Înțelegerea conceptelor
Înțelegerea conceptelor

Scopul este de a face robotul conștient de obstacolele din fața lui, astfel încât să poată schimba direcția și să le evite. În articolul precedent am făcut robotul să se miște - acum îi vom oferi o oarecare autonomie.

Senzor cu ultrasunete

HC-SR04 este un circuit capabil să măsoare o distanță de obiecte de până la 4 metri folosind unde ultrasonice. Trimite un ping (ca un submarin) și măsoară timpul (în microsecunde) dintre trimiterea și primirea ceva înapoi. Acest timp este apoi împărțit la 2 pe măsură ce valul se deplasează înainte și înapoi. Și apoi împărțiți la 29 pentru a obține o distanță în centimetri (sau 74 pentru inci), deoarece sunetul parcurge 29,4µs pe centimetru (340 m / s). Senzorul este foarte precis, cu o toleranță de ~ 3 mm și ușor de integrat cu Arduino.

Interfață senzor cu ultrasunete cu microcontroler AVR

Orice robot autonom ar trebui să aibă o evitare a obstacolelor și un senzor de măsurare a distanței atașat. O pereche de transceiver IR sau un senzor în tonuri de gri pot funcționa cu ușurință pentru detectarea obstacolelor în intervalul 1cm-10cm. Telemetrele IR (de exemplu cele de la ascuțite) pot măsura o distanță până la cel mai apropiat obstacol cu o rază de până la 100cm. Cu toate acestea, senzorii IR sunt afectați de lumina soarelui și de alte surse de lumină. Telemetrele IR au o autonomie mai mică și, de asemenea, scumpe pentru ceea ce face. Senzorii cu ultrasunete (cunoscuți și ca senzori de proximitate cu ultrasunete sau sonar pentru geeks) îndeplinesc ambele sarcini la un cost rezonabil și o precizie excepțională. Gama este cuprinsă între 3 cm și 350cm cu o precizie de ~ 3mm. Legând unul dintre acești senzori cu ultrasunete în robotul nostru, acesta poate acționa atât ca un obstacol de evitare, cât și ca un senzor de măsurare a distanței.

Sunetul „cu ultrasunete” se referă la orice altceva care depășește frecvențele sunetului audibil și include nominal orice peste 20 000 000 Hz sau 20 kHz! Senzorii cu ultrasunete ieftini utilizați pentru robotică funcționează în general între 40 kHz și 250 kHz, în timp ce cei utilizați în echipamentele medicale cresc până la 10 MHz.

Pasul 3: Instrumente necesare

Instrumente necesare
Instrumente necesare
Instrumente necesare
Instrumente necesare
Instrumente necesare
Instrumente necesare
Instrumente necesare
Instrumente necesare
  1. Multimetru
  2. Pană de pâine
  3. Cleste pentru nas
  4. Stripper de sârmă
  5. Cleste de sarma
  6. Pistol de lipit

Un multimetru este de fapt un dispozitiv simplu utilizat în principal pentru a măsura tensiunea și rezistența și pentru a determina dacă un circuit este închis. Similar cu depanarea codului computerului, Multimetrul vă ajută să „depanați” circuitele electronice.

Materiale de construcții

O aprovizionare ușor disponibilă cu lemn subțire și / sau plexiglas pentru realizarea cadrului mecanic este foarte utilă. Metale precum aluminiu și oțel sunt adesea limitate la cele cu acces la un magazin de mașini, deși aluminiu subțire poate fi tăiat cu foarfece și îndoit manual. Cadrele mecanice pot fi construite chiar din articole de uz casnic, cum ar fi recipiente din plastic.

Deși sunt posibile alte materiale, cum ar fi materialele plastice (în afară de Plexiglas), sau materiale mai exotice, cum ar fi fibra de sticlă și fibra de carbon, acestea nu vor fi luate în considerare în acest ghid. Mai mulți producători au observat că nu este ușor pentru majoritatea pasionaților să își producă propriile piese mecanice și au creat piese mecanice modulare. Un lider în acest domeniu este Lynxmotion, care oferă o gamă largă de modele robotizate, precum și piesele necesare pentru a vă crea proprii roboți personalizați.

Unelte de mana

Șurubelnițe și clești de diferite tipuri și dimensiuni (inclusiv set de instrumente pentru bijuterie: șurubelnițe mici disponibile în mod obișnuit la magazinele de dolari) sunt necesare. Un burghiu (de preferință o burghie pentru găuri drepte) este, de asemenea, important. Un ferăstrău manual pentru tăierea materialelor de construcție (sau un router) este, de asemenea, un atu important. Dacă bugetul permite, un ferăstrău cu bandă de masă mic (gama de 200 USD) este cu siguranță un instrument de luat în considerare.

Pânză fără sudură

O placă fără sudură vă permite să vă optimizați aspectul și să conectați componentele cu ușurință. Împreună cu o placă fără sudură, ar trebui să achiziționați un kit de sârmă jumper pre-format, care constă din fire pre-tăiate și îndoite destinate a fi utilizate cu o placă fără sudură. Acest lucru face conexiunile foarte ușoare.

Set de șurubelnițe mici

Aceste șurubelnițe mici sunt necesare atunci când lucrați cu electronice. Nu-i forțați prea mult - dimensiunea lor îi face mai fragili.

Set regulat de șurubelnițe

Toate atelierele au nevoie de un instrument sau set de unelte multiple care să includă capete plate / Phillips și alte șurubelnițe.

Cleste pentru nas

setul de clești pentru nas este extrem de util atunci când lucrați cu componente și piese mici și este un supliment foarte ieftin la cutia dvs. de instrumente. Acestea sunt diferite de cleștele obișnuit, deoarece ajung într-un punct care poate ajunge în zone mici.

Dispozitive de tăiere / decupare a firelor

Plănuiți să tăiați orice fire, un decapant de sârmă vă va economisi timp și efort considerabil. Atunci când este folosit în mod corespunzător, un stripper de sârmă va îndepărta doar izolația cablurilor și nu va produce îndoiri sau va deteriora conductorii. Cealaltă alternativă la o sârmă este o pereche de foarfece, deși rezultatul final poate fi dezordonat. Foarfece, riglă, stilou, creion de marcaj, cuțit Exacto (sau alt instrument de tăiere manual) Acestea sunt elemente esențiale în orice birou.

Pasul 4: Cocepts pentru codificarea AVR

Cocepts pentru codificarea AVR
Cocepts pentru codificarea AVR

Calculul vitezei sunetului în raport cu senzorii cu ultrasunete

Puțină matematică, dar nu vă speriați. Este mai simplu decât crezi.

Viteza sunetului în aer uscat la temperatura camerei (~ 20 ° C) = 343 metri / secundă

Pentru ca unda sonoră să lovească și să facă o călătorie dus-întors către obiectul din apropiere este = 343/2 = 171,5 m / întrucât raza maximă a unui senzor ultrasonic ieftin nu este mai mare de 5 metri (dus-întors), ar avea mai mult sens să schimbați unitățile în centimetri și microsecunde.

1 metru = 100 centimetru 1 secundă = 10 ^ 6 microsecunde = (s / 171,5) x (m / 100 cm) x ((1x10 ^ 6) / s) = (1 / 171,5) x (1/100) x (1000000 / 1) = 58.30903790087464 us / cm = 58.31 us / cm (rotunjirea la două cifre pentru a face calculele mai ușoare)Prin urmare, timpul necesar pentru ca un impuls să se deplaseze către un obiect și să revină cu 1 centimetru este de 58,31 microsecunde.

micul fundal al ciclurilor de ceas AVR

Este nevoie de un capitol complet diferit pentru a înțelege ciclurile de ceas AVR, dar vom înțelege pe scurt cum funcționează pentru a face calculele mai ușoare

De exemplu, vom folosi placa AVR Draco care are un microcontroler AVR - Atmega328P pe 8 biți. Pentru a simplifica lucrurile, nu vom modifica setările unui microcontroler. Nu sunt atinse fise de siguranță; Niciun cristal extern atașat; Fără dureri de cap. La setările din fabrică, acesta rulează pe un oscilator intern de 8 MHz cu un presaler / 8; Dacă nu înțelegeți toate acestea, înseamnă pur și simplu că microcontrolerul rulează la oscilator RC intern de 1 MHz și fiecare ciclu de ceas durează 1 microsecundă.

1 2 1MHz = de 1000000 cicluri pe secundă Prin urmare, 1s / 1000000 = 1/1000000 = 1us

Ceasuri AVR și conversie la distanță

Aproape am ajuns! Odată ce știm cum să convertim ciclurile de ceas AVR la distanța parcursă de undele sonore, implementarea logicii într-un program este ușoară.

Știm că viteza sunetului ultrasonic la un mediu ideal este: 58,31 us / cm

Știm că rezoluția microcontrolerului AVR este 1us / clock cycle (CLK)

Prin urmare, distanța parcursă de sunet pe ciclu de ceas (CLK) este:

1 2 3 = (58,31 us / cm) x (1us / clk) = 58,31 cicluri de ceas / cm sau = 1 / 58,31 cm / clk

Dacă este cunoscut numărul de cicluri de ceas necesare pentru ca sunetul să se deplaseze și să revină, putem calcula cu ușurință distanța. De exemplu, dacă senzorul durează 1000 de cicluri de ceas pentru a călători și a reveni, atunci distanța de la un senzor la cel mai apropiat obiect este = 1000 / 58,31 = 17,15 cm (aprox.)

Are totul sens acum? Nu? Citește-l din nou

Dacă sunteți clar cu toată logica menționată mai sus, o vom implementa într-un scenariu real, conectând un senzor ultrasonic HC-SR04 ieftin la placa noastră AVR Arduino.

Pasul 5: Conexiuni hardware:

Conexiuni hardware
Conexiuni hardware
Conexiuni hardware
Conexiuni hardware
Conexiuni hardware
Conexiuni hardware
Conexiuni hardware
Conexiuni hardware

Placa Arduino facilitează conectarea oricăror senzori externi și vizualizarea rezultatelor pe ecranul LCD. Pentru detectarea ultrasunetelor, folosim un modul HC-SR04 ieftin. Modulul are 4 pini care pot fi conectați la placa microcontrolerului: VCC, TRIG, ECHO și GND.

Conectați pinul VCC la 5V și pinul GND la masă pe placa Arduino.

Pinul TRIG și pinul ECHO pot fi conectate la orice pin disponibil de pe placă. Trimiterea unui minim de 10us semnal „înalt” pentru a declanșa pinul trimite opt unde sonore de 40 kHz și trage pinul de ecou ridicat. Dacă sunetul ricoșează de pe un obiect din apropiere și se întoarce, acesta este captat prin recepția transductorului și ecoul este tras „jos”.

Alte variante de module cu senzori cu ultrasunete sunt de asemenea disponibile cu doar 3 pini. Principiul de funcționare este în continuare același, dar funcționalitatea pinilor de declanșare și ecou sunt combinate într-un singur pin.

Odată conectate, Trigger și Echo Pins pot fi configurate prin software. Pentru a menține acest exemplu simplu, nu vom folosi niciun pini de întrerupere (sau pin de captare de intrare) în acest exemplu. Neutilizarea pinilor de întrerupere desemnați ne oferă, de asemenea, libertatea de a conecta modulul la orice pini disponibili de pe placă.

Pasul 6: Cod

Cod Codul de mai jos conține doar o extensie „ultrasonică” la controlul motorului de curent continuu folosind un H-Bridge din articolul precedent. Când robotul detectează un obstacol în fața acestuia, se întoarce (grad aleatoriu) și continuă să avanseze. Această funcționalitate ar putea fi extinsă cu ușurință pentru a continua să se întoarcă și să detecteze obstacole în același timp - astfel încât robotul să nu se întoarcă la întâmplare, ci să înceapă să avanseze numai atunci când nu este detectat niciun obiect.

Pentru explicații despre cod, consultați videoclipurile YouTube listate pe canal.

Pasul 7: Video

Urmăriți videoclipul pentru întregul proces.

Recomandat: