Sadržaj:

DIY višenamjenski robot s Arduinom: 13 koraka (sa slikama)
DIY višenamjenski robot s Arduinom: 13 koraka (sa slikama)

Video: DIY višenamjenski robot s Arduinom: 13 koraka (sa slikama)

Video: DIY višenamjenski robot s Arduinom: 13 koraka (sa slikama)
Video: Программирование Ардуино с нуля. Arduino для начинающих. 2024, Srpanj
Anonim
Napravi sam višenamjenski robot s Arduinom
Napravi sam višenamjenski robot s Arduinom
Napravi sam višenamjenski robot s Arduinom
Napravi sam višenamjenski robot s Arduinom
Napravi sam višenamjenski robot s Arduinom
Napravi sam višenamjenski robot s Arduinom

Ovaj robot je uglavnom izgrađen za razumijevanje Arduina i kombiniranje različitih Arduinovih projekata u formiranje višenamjenskog Arduino robota. I nadalje, tko ne želi imati robota za kućne ljubimce? Tako sam ga nazvao BLUE ROVIER 316. Mogao sam kupiti prekrasnu gusjenicu, ali izrada od nule uči vas više i daje vam ponos nakon što ste je dovršili. Robot je sposoban razumjeti glasovne naredbe, odgovarati na jednostavna pitanja, kontrolirati RC automobil pa čak i izbjegavanje prepreka tijekom kretanja. Uglavnom se upravlja putem Android telefona koji je na njega povezan putem Bluetootha. Na temelju Android značajki, kao što su Google prepoznavanje glasa i otkrivanje nagiba, doista se može ponašati poput slatkog, pametnog robota. Dodao sam PLAVO u njegovo ime jer se uglavnom temelji na Bluetoothu. To je zapravo bio moj prvi Arduino projekt i želio sam da bude jedinstven. Ako vam se sviđa projekt, molimo vas da glasate za mene na Robotics Contestu!

Korak 1: Demonstracijski video

Image
Image
Priča o ROVIER -u
Priča o ROVIER -u

Demo robota možete pogledati na ovoj web stranici:

Korak 2: Priča o ROVIER -u

Priča o ROVIER -u
Priča o ROVIER -u

Možete prijeći na sljedeći korak ako ne želite proći kroz slatku malu priču o PLAVOM ROVIERU 316. Prije otprilike godinu dana dobio sam Arduino UNO na dar od oca. Budući da je to bio moj prvi korak na polju Arduina, želio sam stvoriti nešto drugačije i jedinstveno od općih Arduino projekata. Morao je biti sladak i pametan robot koji može razumjeti glasovne naredbe i raditi mnoge inteligentnije stvari poput daljinskog upravljanja, praćenja linija, izbjegavanja prepreka itd. Pitanje je bilo kako ih kombinirati. I nakon što sam jako lijepo proveo po internetu, zaključio sam da bi Bluetooth bio najjeftiniji način rada. I tako je PLAVI ROVIER pokrenut. Ali nastala je situacija u kojoj sam morao isključiti mnoge značajke robota za koje sam očekivao da ih posjeduju, uglavnom zbog nedostatka memorije na Arduinu UNO (čak i manji broj digitalni pinovi na UNO -u). Nema veze, nastavio sam. Bilo mi je potrebno jako dobro vrijeme za stvaranje konačne verzije Robota. I tako je nakon mnogih pokušaja i neuspjeha konačno nastao PLAVI ROVIER. I tako sada možemo prijeći na izradu robota.

Korak 3: Komponente i dijelovi

Komponente i dijelovi
Komponente i dijelovi
Komponente i dijelovi
Komponente i dijelovi
Komponente i dijelovi
Komponente i dijelovi

Trebat će vam samo sljedeće komponente: 1. Android sustav 2. Arduino Uno 3. wtv020-sd-16p modul i 8ohm zvučnik4. 2x sklop upravljačkog sklopa motora L293d 5. 4x bo motori i kotači6. HC SR04 ultrazvučni senzor 7. 9g servo8. 8 AA držač baterija i baterije 9. 1 GB mikro SD kartica 10. mala razvodna kutija za šasiju.11. Bluetooth 05 Bluetooth modulZnam da izgleda skupo! Ali ne brinite, to će koštati samo dvije ili tri tisuće rupija. Govoreći o Androidu, neće biti veliki problem posjedovati ga jer ga većina danas ima. No, novije verzije (iznad 5.0) mogle bi povećati performanse. Pokušajte kupiti motore s umjerenim okretajima u minuti (60 do 100). To bi pomoglo održavanju brzine robota pod kontrolom, jer nije instaliran drugi krug za kontrolu brzine. I 8 aa baterija dovoljne su za dobro napajanje robota. S obzirom na Bluetooth, HC 05 je prikladan za robota jer je dovoljno jeftin, a performanse su također izvanredne. Mikro SD kartica od 1 GB potrebna je za spremanje glasovnih datoteka koje se reproduciraju kada se robotu postavi bilo koje pitanje [detaljno raspravljano u kasnijem dijelu neuništivog]. Ostale komponente detaljno su razmotrene u odgovarajućem koraku.

Pređimo sada na neke jednostavne "teorije" koje se koriste u ovom robotu.

Korak 4: Teorija upravljanja glasom

Teorija glasovnog upravljanja
Teorija glasovnog upravljanja
Teorija glasovnog upravljanja
Teorija glasovnog upravljanja
Teorija glasovnog upravljanja
Teorija glasovnog upravljanja
Teorija glasovnog upravljanja
Teorija glasovnog upravljanja

Robot može razumjeti glasovne naredbe putem android telefona. Pretpostavljam da je svima poznat Google prepoznavanje glasa, značajka u Androidu gdje izgovaramo riječ i Google je unosi. Ista se značajka ovdje koristi za prepoznavanje glasovnih naredbi i njihovo pretvaranje u tekstualne naredbe. Ovdje aplikacija pretvara govor u tekst putem Googlea i šalje ga robotu putem Bluetootha. Robot je programiran da slijedi ove naredbe primljene putem Bluetootha. Također je u stanju odgovoriti na veliki broj pitanja. Možete čak dodati još nekoliko naredbi u kôd kako biste natjerali robota da učini još sjajnije stvari. Evo Android aplikacije:

Korak 5: Teorija upravljanja pokretima

Teorija upravljanja pokretima
Teorija upravljanja pokretima
Teorija upravljanja pokretima
Teorija upravljanja pokretima

Upravljanje pokretima ili načinom kretanja također se vrši putem Androida. U ovom načinu rada, robotom se može upravljati kao RC automobilom koristeći Android kao upravljač. Postoji senzor pod nazivom "Accelerometer" u svim Androidima koji se koristi u ovom načinu rada. Ovaj mjerač ubrzanja može odrediti kut pod kojim je telefon naslovljen mjerenjem sila ubrzanja koje djeluju na Android. Upravo ovaj senzor tjera Android da rotira zaslon kada nagnemo telefon. Ovdje aplikacija koristi mjerač ubrzanja telefona za određivanje kuta pod kojim je telefon nagnut. Zatim se znak (A, B….) Šalje robotu putem Bluetootha. Arduino je programiran za rad prema primljenim podacima. Ako je telefon nagnut prema naprijed, šalje se znak A, a robot se pomiče naprijed. Kad se nagne unatrag, šalje se znak B, a robot se pomiče unatrag i tako nalijevo i nadesno. Kad je Android postavljen vodoravno, šalje se znak E i robot se prestaje kretati.

Korak 6: Teorija upravljanja Bluetoothom

Teorija upravljanja Bluetoothom
Teorija upravljanja Bluetoothom
Teorija upravljanja Bluetoothom
Teorija upravljanja Bluetoothom

U ovom načinu rada robot radi kao opći RC automobil. Ništa novo u ovom načinu rada, isto je kao i općeniti automobil s daljinskim upravljanjem dostupan na tržištu, jedina razlika je u tome što za upravljanje robotom koristimo aplikaciju za Android. U aplikaciji postoje različiti gumbi, od kojih svaki ima različite znakove povezan s njim. Kad dodirnete bilo koju tipku, lik se šalje robotu putem Bluetootha, baš kao i način upravljanja pokretima. Nadalje, isti se znakovi šalju kad se dodirnu odgovarajuće tipke, a robot slijedi dolazne znakove. Koristio sam gumbe od 360 i -360 stupnjeva u aplikaciji kako bi robot izgledao desno i lijevo. Možete ga promijeniti u kodu ako želite natjerati robota na neke druge stvari.

Korak 7: Teorija izbjegavanja prepreka

Teorija izbjegavanja prepreka
Teorija izbjegavanja prepreka
Teorija izbjegavanja prepreka
Teorija izbjegavanja prepreka

U ovom načinu rada robot radi kao robot za izbjegavanje prepreka, sprječavajući se od sudara s bilo kojim predmetom. To se radi pomoću senzora HC SR04. Pretpostavljam da znate za SONAR (Zvučna navigacija i domet). Senzor HC SR04 kontinuirano emitira ultrazvučne zvučne valove. Ovi se valovi odbijaju nakon udara o čvrstu površinu i vraćaju se do senzora. Bilježi se vrijeme potrebno valovima da se vrate na senzor. Budući da zvuk putuje približno 340 m/s i znamo da je SPEED × TIME = DISTANCE, možemo odrediti udaljenost ispred nas. Na primjer, ako zvuk traje 2 sekunde za povratak možemo odrediti udaljenost putem gornje formule, tj. 340 × 2 = 680 m. Tako robot može mjeriti udaljenost ispred sebe kroz senzor. Dok se kreće, robot kontinuirano mjeri udaljenost ispred senzora. Ako osjeti da je čisti prostor ispred njega manji od 30 cm, prestaje se kretati. Zatim gleda lijevo i desno i uspoređuje udaljenost svake strane. Ako lijeva strana ima veću udaljenost, robot skreće ulijevo. Inače, ako je desna strana veća, robot skreće udesno. Ako obje strane imaju jednaku udaljenost, robot se okreće natrag. Ovaj jednostavan mehanizam pomaže robotu da izbjegne prepreke.

Korak 8: Sklapanje šasije

Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije

Ako sami izrađujete šasiju, morate biti vrlo oprezni pri mjerenjima i poravnanjima. Odlučio sam to učiniti jer na internetu nisam pronašao onu koja bi me zadovoljila. Opća razvodna kutija koja se koristi za napajanje koristi se kao šasija. Pretpostavljam da ga možete jednostavno nabaviti u trgovini električnih aparata. Najprije pričvrstite četiri motora na dnu ljepilom ili stezaljkama, a zatim pričvrstite kotače. Zatim morate izraditi glavu robota (servo i HC SR04 senzor). Za glavu izrežite mali komad perfboard -a i pričvrstite ga na servo kroz vijak. Zatim pričvrstite ultrazvučni senzor na ploču ljepilom. Izrežite malu četvrtastu rupu na vrhu kutije i popravite servo u nju. Zatim pričvrstite držač baterije na stražnjoj strani robota kroz vijak. Stavite krugove i ostale komponente u kutiju i šasija je spremna. Ne zaboravite napraviti neke rupe ispred zvučnika kako bi zvuk izašao i proizveo bolju kvalitetu.

Korak 9: Priprema glasovnog modula

Priprema glasovnog modula
Priprema glasovnog modula
Priprema glasovnog modula
Priprema glasovnog modula
Priprema glasovnog modula
Priprema glasovnog modula

Način govora robota ispunjava WTV 020 SD modul. Modul se koristi za reprodukciju glasovnih datoteka za robota. Kad se postavi bilo koje pitanje, arduino će natjerati modul da reproducira odgovarajuću glasovnu datoteku na SD kartici. Na modulu postoje četiri serijske podatkovne linije za komunikaciju s arduinom, reset, sat, podaci i pinovi zauzetosti. Zapamtite da bi nazivi datoteka trebali biti u decimalnom obliku (0001, 0002 …). Da datoteke trebaju biti u AD4 ili WAV formatu. Nadalje, modul radi samo na mikro SD kartici od 1 GB. Neki moduli čak rade i na karticama od 2 GB, a kartica može pohraniti najviše 504 glasovnih datoteka. Tako možete uključiti veliki broj glasovnih datoteka za reprodukciju za dobar broj pitanja. Možete čak i napraviti vlastite glasovne AD4 datoteke (ovaj dio možete preskočiti ako se možete prilagoditi glasovnim datotekama koje ste dobili uz ovu neuništivu). Prvo, morate imati dva softvera, softver za uređivanje zvuka i softver pod nazivom 4D SOMO TOOL koji bi datoteke pretvorio u format AD4. Drugo, morate pripremiti glasove robota. Možete ili pretvoriti tekst u govor ili čak snimiti vlastiti glas i napraviti glasove robota. Oboje se može učiniti u softveru za uređivanje zvuka. Ali zasigurno, roboti ne izgledaju dobro ako govore ljudskim glasom. Zato bi trebalo biti bolje pretvoriti tekst u govor. U tome bi vam pomogli različiti strojevi poput Microsoft Anna i Microsoft Sam vaše računalo. Nakon pripreme glasovnih datoteka morate ih spremiti u 32000 Hz i u WAV formatu. To je zato što modul može reproducirati glasovne datoteke do 32000 Hz. Zatim upotrijebite 4D SOMO ALAT za pretvaranje datoteka u format AD4. Da biste to učinili, samo otvorite SOMO TOOL, odaberite datoteke, a zatim kliknite AD4 Encode i vaše glasovne datoteke su spremne. Gornju sliku možete provjeriti kao referencu. Ako želite dodatne pojedinosti o stvaranju robotskih glasova, možete otići ovdje:

[Stvaranje robotskih glasova] Evo izvornih glasovnih datoteka i softvera:

Korak 10: Uspostavljanje veza

Uspostavljanje veza
Uspostavljanje veza
Uspostavljanje veza
Uspostavljanje veza
Uspostavljanje veza
Uspostavljanje veza

Skratite sve Vcc pinove odgovarajućih modula zajedno i spojite ih na 5v pin na arduinu. Učinite isto za gnd igle. Ovdje su spojevi različitih modula. HC 05 modul: RX pin na arduino konektor za utikač 0. TX pin na arduino konektor za utikač 1. HC SR04 senzor: Echo pin na arduino konektor za pin 6. Trig pin na arduino konac za kopanje 7WTV020-SD modul: pin1 (reset pin) na arduino dig pin2.pin4 na zvučnik +pin5 na zvučnik -pin7 (sat) na arduino dig pin3.pin8 na gnd.pin10 (podaci) na arduino dig pin4.pin15 (zauzet) na arduino dig pin5.pin16 do 3.3vZatim, spojite žicu servo signala (žutu) i za kopanje pin 12. L293d motorni kontroler: pin A1 na arduino dig pin 8. pin A2 na arduino dig pin 9.pin B1 na arduino dig pin 10.pin B2 za arduino dig pin 11. Sjetite se da u ovom robotu koristimo dva L293d modula. To je zato što jedan modul ima kapacitet za napajanje do dva motora. Za upravljanje s četiri motora koristimo dva pokretača motora. Stoga ne zaboravite napraviti dvostruke veze na oba modula upravljačkog sklopa motora. Na primjer, spojite Arduino pin 8 na pin A1 oba pogonska modula. Ne zaboravite spojiti izlaz jednog modula na dva motora, a drugi modul na druga dva motora. Provjerite dijagram za daljnje upute.

Korak 11: Arduino kod

Arduino kod
Arduino kod
Arduino kod
Arduino kod

Bilo je to uzbudljivo vrijeme za izradu koda. To uopće nije kompliciran kôd, samo koristi neke knjižnice za komunikaciju s Androidom i zvučnim modulom. Veliki dio posla obavlja se na Androidu, a ne na Arduinu. Kôd se temelji na Bluetooth komunikaciji i dolaznim podacima s Bluetootha. Kôd je napravljen na takav način da moramo dati glasovne naredbe robotu za izvršavanje različitih načina rada, a Arduino kontinuirano provjerava ima li dolaznih Bluetooth signala. Da bismo zaustavili bilo koji način rada, moramo samo reći "stop". Jedini problem s kodom je taj što moramo ručno isključiti robota dok je u načinu rada za izbjegavanje prepreka. U ovom načinu rada ne možemo koristiti naredbu "stop". To je zato što uključivanje ove značajke utječe na brzinu skeniranja udaljenosti objekata. Arduino će morati istovremeno čitati udaljenost objekta, kao i dolazne Bluetooth signale. To ometa način rada i robot se ne uspije u potpunosti zaštititi od prepreka. Robot se možda neće odmah zaustaviti, čak i ako je udaljenost manja od 30 cm. Stoga bi bilo dobro ne uključiti ovu značajku u ovaj način rada. Samo preuzmite knjižnice i kôd i prenesite ih na Arduino. Ali ne zaboravite izvaditi TX i RX (0, 1) igle iz Arduina prije učitavanja. Ovi pinovi se koriste za serijsku komunikaciju i koriste se tijekom učitavanja koda. I u ovom se robotu ove pinove koriste za povezivanje Bluetooth modula. Stoga ih ne zaboravite skinuti jer bi to moglo omesti vaš Bluetooth modul. Evo koda i knjižnica:

Korak 12: Rješavanje problema i poboljšanje

Rješavanje problema i poboljšanje
Rješavanje problema i poboljšanje

Ovaj korak možete preskočiti jer se bavi samo poboljšanjima robota. Mnogi problemi nastaju u modulu WTV-020-SD-16p u vezi s kapacitetom memorijske kartice. To je zato što neki moduli rade na karticama od 2 GB, dok neki ne rade. Zato je bolje koristiti mikro SD karticu kapaciteta 1 GB. Ne bi bilo velikih problema u korištenju različitih verzija komponenti. Mogu se spomenuti različite verzije wtv 020 sd modula. To je zato što između modula postoji samo razlika u pakiranju, dok većina drugih unutarnjih stvari ostaje ista. Druga važna stvar, korištenje PCB -a za robota pomoći će u velikoj mjeri smanjiti potrošnju struje. Ako spajate različite komponente baš kao i ja, to bi vas koštalo neke struje jer će se dobra količina izgubiti u žicama, s visokim otporom. To je zato što je krug dovoljno velik. Ovo neuništivo ne uključuje projektiranje PCB -a (jer ga ja nisam napravio), ali može povećati energetsku učinkovitost robota. Ali PLAVI ROVIER 316 još nije gotov! Pomislio sam uključiti još neke značajke, poput praćenja redaka, rješavanja labirinta i mnogih drugih stvari. Ali to je ostao san zbog nedostatka iglica na Arduinu UNO (PLAVI ROVIER zaista jede mnoge igle Arduina). Stoga mislim poboljšati sve značajke ovog robota i kombinirati ih zajedno kako bismo formirali sofisticiraniji i korisniji Arduino robot. Zato budite spremni vidjeti modificirani pogled na ROVIER za nekoliko mjeseci !!! Čak bih želio vidjeti i druge modificirane verzije robota od strane nekih drugih ljudi koji posjeduju više kreativnosti od mene !!!!

Korak 13: Igranje s robotom

Igranje s robotom
Igranje s robotom

Uključite robota i pogledajte kako vas dočekuje, igra s vama. Postavite bilo koje pitanje (ne glupo!) I gledajte odgovor. Možete reći da slijedite redove ili da nastavite. Samo recite 'stop' kad želite zaustaviti robota.

Robotičko natjecanje 2017
Robotičko natjecanje 2017
Robotičko natjecanje 2017
Robotičko natjecanje 2017

Drugoplasirani na izboru za robotiku 2017

Preporučeni: