Cuprins:

Robot multifuncțional DIY cu Arduino: 13 pași (cu imagini)
Robot multifuncțional DIY cu Arduino: 13 pași (cu imagini)

Video: Robot multifuncțional DIY cu Arduino: 13 pași (cu imagini)

Video: Robot multifuncțional DIY cu Arduino: 13 pași (cu imagini)
Video: You can learn Arduino in 15 minutes. 2024, Iulie
Anonim
Robot multifuncțional DIY cu Arduino
Robot multifuncțional DIY cu Arduino
Robot multifuncțional DIY cu Arduino
Robot multifuncțional DIY cu Arduino
Robot multifuncțional DIY cu Arduino
Robot multifuncțional DIY cu Arduino

Acest robot a fost construit în principal pentru a înțelege Arduino și pentru a combina diverse proiecte ale Arduino pentru a forma un robot Arduino cu funcții multiple. Și mai mult, cine nu vrea să aibă un robot pentru animale de companie? Așa că l-am numit BLUE ROVIER 316. Aș fi putut cumpăra un șasiu frumos urmărit, dar a-l face de la zero te învață mai mult și îți oferă mai multă mândrie după ce l-ai finalizat. Robotul este capabil să înțeleagă comenzile vocale, să răspundă la întrebări simple, o mașină RC și chiar evitarea obstacolelor în timp ce vă deplasați. Este controlat în principal printr-un telefon Android care este conectat la acesta prin Bluetooth. Bazat pe funcții Android, cum ar fi recunoașterea vocală Google și detectarea înclinării, se poate comporta într-adevăr ca un robot drăguț și inteligent. Am adăugat ALBASTRU în numele său, deoarece se bazează în principal pe Bluetooth. De fapt, a fost primul meu proiect Arduino și am vrut ca acesta să fie unic. Dacă vă place proiectul, vă rog să mă votați la Concursul de robotică!

Pasul 1: Video demonstrativ

Image
Image
Povestea lui ROVIER
Povestea lui ROVIER

Puteți urmări demonstrația robotului pe acest site:

Pasul 2: Povestea lui ROVIER

Povestea lui ROVIER
Povestea lui ROVIER

Puteți trece la pasul următor dacă nu doriți să treceți prin povestea drăguță a lui BLUE ROVIER 316. Cu aproximativ un an în urmă, am primit cadou un Arduino UNO de la tatăl meu. Deoarece a fost primul meu pas în domeniul Arduino, am vrut să creez ceva diferit și unic din proiectele generale Arduino. Trebuia să fie un robot drăguț și inteligent care să înțeleagă comenzile vocale și să facă multe lucruri mai inteligente, cum ar fi telecomanda, urmărirea liniilor, evitarea obstacolelor și așa mai departe. Întrebarea era cum să le combinăm împreună. Și după ce am navigat pe net pentru o perioadă foarte frumoasă, am ajuns la concluzia că Bluetooth ar fi cel mai ieftin mod. Și astfel, BLUE ROVIER a fost pus în mișcare, dar a apărut o situație în care a trebuit să exclud multe caracteristici ale robotului pe care mă așteptam să le posede, în principal din cauza lipsei de memorie pe Arduino UNO (chiar și numărul mai mic de pini digitali pe UNO). Nu contează, am continuat. Mi-a luat foarte bine să creez versiunea finală a robotului. Și astfel, după multe încercări și eșecuri, BLUE ROVIER a luat naștere în cele din urmă, și acum putem trece la realizarea robotului.

Pasul 3: Componente și piese

Componente și piese
Componente și piese
Componente și piese
Componente și piese
Componente și piese
Componente și piese

Veți avea nevoie doar de următoarele componente: 1. Sistem Android 2. Arduino Uno 3. Modul wtv020-sd-16p și difuzor 8ohm4. 2x circuitul controlerului motorului L293d 5. Motoare și roți 4x bo6. Senzor cu ultrasunete HC SR04 7. 9g servo8. 8 suport baterie AA și baterii 9. card micro SD de 1 gb 10. cutie mică pentru șasiu.11. Modulul Bluetooth HC 05 Știu că arată costisitor! Dar nu vă faceți griji, va costa doar aproximativ două sau trei mii de rupii. Vorbind despre Android, nu va fi o problemă grozavă să o deții, deoarece majoritatea o au în zilele noastre. Dar dacă aveți versiuni mai noi (peste 5.0) s-ar putea crește performanța. Încercați să cumpărați motoare cu rotații moderate (60 până la 100). Acest lucru ar ajuta la menținerea vitezei robotului sub control, deoarece nu este instalat niciun alt circuit de control al vitezei. Iar bateriile de 8 aa sunt suficiente pentru a alimenta robotul pentru un timp bun. Și având în vedere Bluetooth, HC 05 este potrivit pentru robot, deoarece este suficient de ieftin, iar performanța este de asemenea remarcabilă. Cardul micro SD de 1 GB este necesar pentru a stoca fișiere vocale care sunt redate atunci când orice întrebare este adresată robotului [Discutat în detaliu în partea ulterioară a instrumentului de structurare]. Celelalte componente sunt discutate în detaliu în etapa lor respectivă.

Acum să trecem la câteva „teorii” simple care sunt utilizate în acest robot.

Pasul 4: Teoria controlului vocal

Teoria controlului vocal
Teoria controlului vocal
Teoria controlului vocal
Teoria controlului vocal
Teoria controlului vocal
Teoria controlului vocal
Teoria controlului vocal
Teoria controlului vocal

Robotul poate înțelege comenzile vocale printr-un telefon Android. Presupun că toată lumea este familiarizată cu Google Voice Recognition, funcția din Android în care spunem cuvântul și Google îl tastează. Aceeași caracteristică este utilizată aici pentru recunoașterea comenzilor vocale și transformarea lor în comenzi text. Aplicația de aici convertește vorbirea în text prin Google și o trimite robotului prin Bluetooth. Robotul este programat să urmeze aceste comenzi primite prin Bluetooth. De asemenea, este capabil să răspundă la un număr mare de întrebări. Puteți adăuga chiar și alte comenzi în cod pentru a face robotul să facă câteva lucruri mai minunate. Iată aplicația Android:

Pasul 5: Teoria controlului gesturilor

Teoria controlului gesturilor
Teoria controlului gesturilor
Teoria controlului gesturilor
Teoria controlului gesturilor

Modul de control al gesturilor sau de control al mișcării se face și prin Android. În acest mod, robotul poate fi controlat ca o mașină RC folosind Android ca volan. Există un senzor numit "accelerometru" în toate androizii care este utilizat în acest mod. Acest accelerometru poate determina unghiul la care este intitulat telefonul măsurând forțele de accelerație care acționează pe Android. Acest senzor este cel care face ca Android să își rotească ecranul atunci când înclinăm telefonul. Aplicația de aici folosește accelerometrul telefonului pentru a determina unghiul la care este înclinat telefonul. Apoi un personaj (A, B ….) este trimis robotului prin Bluetooth. Arduino este programat să funcționeze în funcție de datele primite. Dacă telefonul este înclinat înainte, caracterul A este trimis și robotul avansează. Când este înclinat înapoi, caracterul B este trimis și robotul se deplasează înapoi și așa mai departe pentru stânga și dreapta. Când Android-ul este plasat orizontal, se trimite caracterul E și robotul se oprește din mișcare.

Pasul 6: Teoria controlului Bluetooth

Teoria controlului Bluetooth
Teoria controlului Bluetooth
Teoria controlului Bluetooth
Teoria controlului Bluetooth

În acest mod, robotul funcționează ca o mașină RC generală. Nimic nou în acest mod, este la fel ca o mașină cu telecomandă generală disponibilă pe piață, singura diferență fiind că folosim o aplicație Android pentru a controla robotul. Există diferite butoane în aplicație, fiecare având caractere diferite asociat cu acesta. Când se atinge orice tastă, un personaj este trimis robotului prin Bluetooth, la fel ca modul de control al gesturilor. Mai mult, aceleași caractere sunt trimise atunci când tastele respective sunt atinse, iar robotul urmărește caracterele primite. Am folosit butoanele de 360 și -360 grade din aplicație pentru a face robotul să arate la dreapta și la stânga. Puteți să-l modificați în cod dacă doriți să faceți robotul să facă alte lucruri.

Pasul 7: Teoria evitării obstacolelor

Teoria evitării obstacolelor
Teoria evitării obstacolelor
Teoria evitării obstacolelor
Teoria evitării obstacolelor

În acest mod, robotul funcționează ca un robot de evitare a obstacolelor, împiedicându-se să se ciocnească de orice obiect. Acest lucru se face cu senzorul HC SR04. Bănuiesc că știți despre SONAR (Navigare și Ranging de sunet). Senzorul HC SR04 emite continuu unde sonore ultrasonice. Aceste unde se recuperează după lovirea unei suprafețe solide și revin la senzor. Timpul luat de valuri pentru a reveni la senzor este înregistrat. Deoarece sunetul se deplasează cu aproximativ 340 m / s și știm că SPEED × TIME = DISTANCE, putem determina distanța înainte. De exemplu, dacă sunetul durează 2 secunde pentru a reveni, putem determina distanța prin formula de mai sus, adică 340 × 2 = 680 m. Acesta este modul în care robotul poate măsura distanța din fața sa prin senzor. În timp ce se deplasează, robotul măsoară continuu distanța din față prin senzor. Dacă simte că spațiul liber din fața sa este mai mic de 30 cm, se oprește din mișcare. Apoi arată în stânga și în dreapta și compară distanța fiecărei părți. Dacă partea stângă are o distanță mai mare, robotul virează la stânga. Altfel, dacă partea dreaptă este mai mare, robotul se întoarce la dreapta. Dacă ambele părți au distanțe egale, robotul se întoarce înapoi. Acest mecanism simplu îl ajută pe robot să evite obstacolele.

Pasul 8: Asamblarea șasiului

Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului

Realizând șasiul pe cont propriu, trebuie să fiți foarte atenți la măsurători și alinieri. Am ales să fac acest lucru, deoarece nu am putut găsi unul pe net care să mă satisfacă. Cred că puteți obține cu ușurință unul de la un magazin de electrocasnice. În primul rând, atașați cele patru motoare în partea de jos cu niște lipici sau cleme și apoi atașați roțile. Apoi, trebuie să faceți capul robotului (servo și senzorul HC SR04). Pentru cap, tăiați o bucată mică de perfboard și atașați-l la servo printr-un șurub. Apoi, atașați senzorul cu ultrasunete la panoul de perfecționare cu puțin adeziv. Tăiați o mică gaură pătrată în partea de sus a cutiei și fixați servo-ul în ea. Apoi atașați suportul bateriei din spatele robotului printr-un șurub. Puneți circuitele și celelalte componente în interiorul cutiei și șasiul dvs. este gata. Nu uitați să faceți niște găuri în fața difuzorului pentru ca sunetul să iasă și să producă o calitate mai bună.

Pasul 9: Pregătirea modulului vocal

Pregătirea modulului vocal
Pregătirea modulului vocal
Pregătirea modulului vocal
Pregătirea modulului vocal
Pregătirea modulului vocal
Pregătirea modulului vocal

Modul de vorbire al robotului este îndeplinit de modulul WTV 020 SD. Modulul este utilizat pentru a reda fișiere vocale pentru robot. Când se pune orice întrebare, arduino va face modulul să redea fișierul vocal respectiv de pe cardul SD. Există patru linii de date seriale pe modul pentru comunicarea cu arduino, resetarea, ceasul, datele și pinii ocupați. Amintiți-vă că numele fișierelor ar trebui să fie în zecimal (0001, 0002 …). Și că fișierele ar trebui să fie fie în format AD4, fie în format WAV. În plus, modulul funcționează numai pe un card micro SD de 1 GB. Unele module funcționează chiar și pe carduri de 2 GB, iar cardul poate conține maximum 504 de fișiere vocale. Așadar, puteți include un număr mare de fișiere vocale pe care să le redați pentru un număr mare de întrebări. Puteți chiar să vă creați propriile fișiere vocale AD4 (Puteți sări peste această parte dacă vă puteți ajusta cu fișierele vocale furnizate împreună cu acest instrument de structurare)., trebuie să aveți două software, un software de editare a sunetului și un software numit 4D SOMO TOOL care ar converti fișierele în format AD4. În al doilea rând, trebuie să pregătiți Robot Voices. Puteți converti textul în vorbire sau chiar să vă înregistrați propria voce și să creați vocile robotului. Ambele pot fi realizate în software-ul de editare a sunetului. Dar, cu siguranță, roboții nu arată bine dacă vorbesc voci umane. Deci, ar trebui să fie mai bine să convertiți textul în vorbire. Există diverse motoare, cum ar fi Microsoft Anna și Microsoft Sam Computerul dvs., care ar ajuta la acest lucru. După pregătirea fișierelor vocale, trebuie să le salvați în 32000 Hz și în format WAV. Acest lucru se datorează faptului că modulul poate reda fișiere vocale până la 32000 Hz. Apoi utilizați instrumentul 4D SOMO TOOL pentru a converti fișierele în format AD4. Pentru a face acest lucru, trebuie doar să deschideți SOMO TOOL, să selectați fișierele și să faceți clic pe Codare AD4 și fișierele vocale sunt gata. Puteți verifica imaginea de mai sus pentru referință. Dacă doriți mai multe detalii despre realizarea vocilor robotizate, puteți merge aici:

[Realizarea de voci robotice] Iată fișierele vocale originale și software-ul:

Pasul 10: Realizarea conexiunilor

Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor
Realizarea conexiunilor

Scurtați împreună toți pinii Vcc ai modulelor respective și conectați-l la pinul de 5v de pe arduino. Faceți același lucru pentru pinii gnd. Iată conexiunile diferitelor module. Modulul HC 05: pinul RX la pinul de excavare arduino 0. Pinul TX la pinul de excavare arduino 1. Senzorul HC SR04: pinul Echo la pinul de excavare arduino 6. Pinul de declanșare la pinul de excavare arduino 7WTV020-SD modul: pin1 (resetare pin) la arduino sap pin2.pin4 la difuzor + pin5 la difuzor -pin7 (ceas) la arduino sap pin3.pin8 la gnd.pin10 (date) la arduino sap pin4.pin15 (ocupat) la arduino sap pin5.pin16 la 3.3v Apoi, conectați firul de semnal servo (galben) și săpați pinul 12. L293d controlerul motorului: pinul A1 la arduino sapă pin 8.pin A2 la arduino sapă pinul 9.pin B1 la arduino sapă pinul 10.pin B2 pentru a arunca pinul 11. Amintiți-vă că, în acest robot, folosim două module L293d. Acest lucru se datorează faptului că un modul are capacitatea de a alimenta până la două motoare. Pentru a controla patru motoare, folosim două motoare. Așadar, nu uitați să faceți conexiuni duplicate pe ambele module ale controlerului motorului. De exemplu, conectați pinul Arduino 8 la pinul A1 al ambelor module de driver. Nu uitați să conectați ieșirea unui modul pe două motoare și celălalt modul pe celelalte două motoare. Verificați diagrama pentru referințe suplimentare.

Pasul 11: Codul Arduino

Codul Arduino
Codul Arduino
Codul Arduino
Codul Arduino

A fost un moment interesant de realizare a codului. Nu este deloc un cod complicat, ci doar folosește unele biblioteci pentru a comunica cu Android și modulul de sunet. O mare parte a muncii se face în Android și nu în Arduino. Codul se bazează pe comunicarea Bluetooth și pe datele primite de pe Bluetooth. Codul este realizat în așa fel încât să dăm comenzi vocale robotului pentru a executa diferitele moduri, iar Arduino verifică continuu semnalele Bluetooth primite. Pentru a opri orice mod, trebuie doar să spunem „opriți”. Singura problemă cu codul este că trebuie să oprim manual robotul când este în modul de evitare a obstacolelor. Nu putem folosi comanda „stop” în acest mod. Acest lucru se datorează faptului că setarea acestei caracteristici afectează viteza de scanare a distanței obiectelor. Arduino va trebui să citească simultan atât distanța unui obiect, cât și semnalele Bluetooth primite. Acest lucru interferează modul și robotul nu reușește să se protejeze complet de obstacole. Este posibil ca robotul să nu se oprească instantaneu, chiar dacă distanța înainte este mai mică de 30 cm. Deci, ar fi bine să nu includeți această caracteristică în acest mod. Descărcați doar bibliotecile și codul și încărcați-le pe Arduino. Dar nu uitați să scoateți pinii TX și RX (0, 1) de pe Arduino înainte de încărcare. Acești pini sunt utilizați pentru comunicarea în serie și sunt folosiți în timpul încărcării codului. Și în acest robot, acei pini sunt utilizați pentru conectarea modulului Bluetooth. Așadar, nu uitați să le scoateți altfel, s-ar putea să vă împiedice modulul Bluetooth. Iată codul și bibliotecile:

Pasul 12: Sortarea problemelor și îmbunătățirea

Sortarea problemelor și îmbunătățirea
Sortarea problemelor și îmbunătățirea

Puteți sări peste acest pas, deoarece se referă doar la îmbunătățirile robotului. Multe probleme apar în modulul WTV-020-SD-16p, în ceea ce privește capacitatea cardului de memorie. Acest lucru se datorează faptului că unele module funcționează pe carduri de 2 GB, în timp ce altele nu. Deci, este mai bine să utilizați un card micro SD de 1 GB. Nu ar fi prea multe probleme în utilizarea diferitelor versiuni ale componentelor. Se pot menționa diferitele versiuni ale modulului wtv 020 sd. Acest lucru se datorează faptului că există doar diferențe de ambalare între module, în timp ce majoritatea celorlalte lucruri interne rămân aceleași. Un alt lucru important, utilizarea unui PCB pentru robot va ajuta la reducerea consumului de curent într-o mare măsură. Dacă conectați diferitele componente la fel ca mine, v-ar costa ceva curent, deoarece o cantitate bună din acesta se va pierde în fire, având o rezistență ridicată. Acest lucru se datorează faptului că circuitul este destul de mare. Acest structurabil nu include proiectarea unui PCB (pentru că nu am realizat unul), dar poate crește eficiența energetică a robotului. Dar BLUE ROVIER 316 nu este încă făcut! M-am gândit să mai includ câteva caracteristici precum urmarea liniilor, rezolvarea labirintelor și multe alte lucruri. Dar a rămas un vis din cauza lipsei de pini pe Arduino UNO (BLUE ROVIER mănâncă într-adevăr mulți pini de Arduino). Așadar, mă gândesc să îmbunătățesc toate caracteristicile acestui robot și să le combin pentru a forma un robot Arduino mai sofisticat și mai util. Deci, fiți gata să vedeți vizualizarea modificată a ROVIER în câteva luni !!! Aș dori chiar să văd alte versiuni modificate ale robotului de către alți oameni care au mai multă creativitate decât a mea !!!!

Pasul 13: Joacă cu robotul

Jucând cu robotul
Jucând cu robotul

Porniți robotul și vedeți cum vă întâmpină, se joacă cu dvs. Puneți orice întrebare (nu sunt stupide!) Și urmăriți răspunsul. Puteți spune să urmați linii sau să mergeți mai departe. Spuneți „opriți” când doriți să opriți robotul.

Concurs de robotică 2017
Concurs de robotică 2017
Concurs de robotică 2017
Concurs de robotică 2017

Locul doi în concursul de robotică 2017

Recomandat: