Sadržaj:

Uradi sam više značajnih robota s Arduinom: 13 koraka (sa slikama)
Uradi sam više značajnih robota s Arduinom: 13 koraka (sa slikama)

Video: Uradi sam više značajnih robota s Arduinom: 13 koraka (sa slikama)

Video: Uradi sam više značajnih robota s Arduinom: 13 koraka (sa slikama)
Video: Моего отца убили, поэтому я построил шкаф на заказ — эпическая история 2024, Juli
Anonim
Uradi sam, višenamjenski robot s Arduinom
Uradi sam, višenamjenski robot s Arduinom
Uradi sam, višenamjenski robot s Arduinom
Uradi sam, višenamjenski robot s Arduinom
Uradi sam, višenamjenski robot s Arduinom
Uradi 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, ko ne želi imati robota za kućne ljubimce? Tako sam ga nazvao BLUE ROVIER 316. Mogao sam kupiti lijepu gusjenicu s gusjenicama, ali izrada iste od nule uči vas više i daje vam ponos nakon što ste je dovršili. Robot je sposoban razumjeti glasovne komande, odgovarati na jednostavna pitanja, kontrolirati RC automobil, pa čak i izbjegavanje prepreka tijekom kretanja. Uglavnom se kontrolira putem Android telefona koji je na njega povezan putem Bluetootha. Na temelju Android funkcija, kao što su Google prepoznavanje glasa i otkrivanje nagiba, zaista se može ponašati poput slatkog, pametnog robota. Dodao sam PLAVO u njegovo ime jer se uglavnom temelji na Bluetooth -u. To je zapravo bio moj prvi Arduino projekt i želio sam da bude jedinstven. Ako vam se sviđa projekt, glasajte za mene na takmičenju robotike!

Korak 1: Video demonstracije

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 poklon od svog 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 BLUE ROVIER pokrenut. Ali nastala je situacija u kojoj sam morao isključiti mnoge karakteristike robota za koje sam očekivao da ih posjeduju, uglavnom zbog nedostatka memorije na Arduino UNO -u (č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 preć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 sistem 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 hiljade 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 napajanje robota za dobro vrijeme. S obzirom na Bluetooth, HC 05 je pogodan 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 se detaljno razmatraju u njihovom odgovarajućem koraku.

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

Korak 4: Teorija upravljanja glasom

Teorija upravljanja glasom
Teorija upravljanja glasom
Teorija upravljanja glasom
Teorija upravljanja glasom
Teorija upravljanja glasom
Teorija upravljanja glasom
Teorija upravljanja glasom
Teorija upravljanja glasom

Robot može razumjeti glasovne komande putem android telefona. Pretpostavljam da je svima poznat Google prepoznavanje glasa, funkcija u Androidu gdje izgovaramo riječ i Google je unosi. Ista se funkcija 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đe 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 kontrole pokreta

Teorija kontrole pokreta
Teorija kontrole pokreta
Teorija kontrole pokreta
Teorija kontrole pokreta

Kontrola pokretima ili način rada pokreta 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 Androidu. Upravo ovaj senzor tjera Android da rotira ekran kada nagnemo telefon. Ova aplikacija ovdje koristi akcelerometar telefona za određivanje kuta pod kojim je telefon nagnut. Zatim se znak (A, B….) Šalje robotu putem Bluetootha. Arduino je programiran da radi prema primljenim podacima. Ako je telefon nagnut prema naprijed, šalje se znak A i robot se pomiče naprijed. Kada se nagne unatrag, šalje se znak B, a robot se pomiče unatrag i tako dalje lijevo i desno. Kada je Android postavljen vodoravno, šalje se znak E i robot se prestaje kretati.

Korak 6: Teorija kontrole Bluetootha

Teorija kontrole Bluetootha
Teorija kontrole Bluetootha
Teorija kontrole Bluetootha
Teorija kontrole Bluetootha

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 na daljinsko upravljanje dostupan na tržištu, jedina razlika je u tome što koristimo Android aplikaciju za upravljanje robotom. U aplikaciji postoje različiti gumbi, od kojih svaki ima različite znakove povezan sa njim. Kada dodirnete bilo koji taster, lik se šalje robotu putem Bluetootha, baš kao i način upravljanja pokretima. Nadalje, isti znakovi se šalju kada se dodirnu odgovarajući tasteri, a robot prati dolazne znakove. Koristio sam tastere od 360 i -360 stepeni u aplikaciji kako bi robot izgledao desno i lijevo. Možete ga promijeniti u kodu ako želite natjerati robota da radi 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 funkcionira kao robot za izbjegavanje prepreka, sprečavajući se od sudara s bilo kojim objektom. 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 valovi se 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 zvuku treba 2 sekunde za povratak, možemo odrediti udaljenost putem gornje formule, tj. 340 × 2 = 680 m. Na ovaj način robot može mjeriti udaljenost ispred sebe kroz senzor. Dok se kreće, robot kontinuirano mjeri udaljenost ispred sebe kroz senzor. 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 desno. Ako obje strane imaju jednaku udaljenost, robot se vraća. Ovaj jednostavan mehanizam pomaže robotu da izbjegne prepreke.

Korak 8: Sklapanje šasije

Sklapanje šasije
Sklapanje šasije
Sklapanje šasije
Sklapanje šasije
Sklapanje šasije
Sklapanje šasije
Sklapanje šasije
Sklapanje š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 lako možete nabaviti u trgovini električnih aparata. Prvo pričvrstite četiri motora na dnu s malo ljepila ili stezaljki, a zatim pričvrstite kotače. Zatim morate izraditi glavu robota (servo i HC SR04 senzor). Za glavu izrežite mali komad ploče i pričvrstite je na servo kroz vijak. Zatim pričvrstite ultrazvučni senzor na ploču ljepilom. Izrežite malu kvadratnu rupu na vrhu kutije i pričvrstite servo u nju. Zatim pričvrstite držač baterije na stražnjoj strani robota kroz vijak. Umetnite kola i ostale komponente u kutiju i vaša šasija je spremna. Ne zaboravite napraviti rupe ispred zvučnika kako bi zvuk izašao i proizveo bolji kvalitet.

Korak 9: Priprema glasovnog modula

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

Režim govora robota ispunjava WTV 020 SD modul. Modul se koristi za reprodukciju glasovnih datoteka robota. Kada se postavi bilo koje pitanje, arduino će natjerati modul da reproducira odgovarajuću glasovnu datoteku na SD kartici. Na modulu postoje četiri linije serijskih podataka za komunikaciju s arduinom, reset, sat, podaci i pinovi zauzetosti. Zapamtite da imena datoteka trebaju biti u decimalnim brojevima (0001, 0002 …). I da datoteke trebaju biti u AD4 ili WAV formatu. Nadalje, modul radi samo na mikro SD kartici od 1 GB. Neki moduli rade čak 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 konvertirao datoteke 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. Postoje različiti motori poput Microsoft Anna i Microsoft Sam vašeg računala koji bi vam pomogli u tome. Nakon što pripremite glasovne datoteke, 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 TOOL za pretvaranje datoteka u AD4 format. Da biste to učinili, samo otvorite SOMO TOOL, odaberite datoteke i kliknite AD4 Encode i vaše glasovne datoteke su spremne. Gornju sliku možete provjeriti kao referencu. Ako želite dodatne detalje o stvaranju robotskih glasova, možete otići ovdje:

[Stvaranje robotskih glasova] Evo originalnih 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 dig pin 0. TX pin na arduino dig pin 1. HC SR04 senzor: Echo pin na arduino dig pin 6. Trig pin na arduino dig pin 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. Zapamtite 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. Zato ne zaboravite napraviti dvostruke veze na oba modula kontrolera 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 reference.

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 kod, samo koristi neke biblioteke 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 davati glasovne komande robotu za izvršavanje različitih načina rada, a Arduino neprestano provjerava ima li dolaznih Bluetooth signala. Da bismo zaustavili bilo koji način rada, moramo samo reći "stop". Jedini problem sa kodom je što moramo ručno isključiti robota dok je u načinu rada za izbjegavanje prepreka. Ne možemo koristiti naredbu "stop" u ovom načinu rada. To je zato što uključivanje ove funkcije utječe na brzinu skeniranja udaljenosti objekata. Arduino će morati istovremeno čitati i 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. Zato bi bilo dobro ne uključiti ovu funkciju u ovaj način rada. Samo preuzmite biblioteke 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 prilikom učitavanja koda. I u ovom robotu se ove pinove koriste za povezivanje Bluetooth modula. Ne zaboravite ih skinuti jer bi to moglo omesti vaš Bluetooth modul. Evo koda i biblioteka:

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 unutrašnjih stvari ostaje ista. Još jedna važna stvar, korištenje PCB -a za robota pomoći će u velikoj mjeri smanjiti potrošnju struje. Ako povezujete različite komponente baš kao i ja, to bi vas koštalo neke struje jer će se dobra količina izgubiti u žicama, imajući veliki otpor. 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 efikasnost 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). Zato razmišljam o poboljšanju svih karakteristika ovog robota i kombiniram ih zajedno kako bih formirao 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' kada želite zaustaviti robota.

Konkurs robotike 2017
Konkurs robotike 2017
Konkurs robotike 2017
Konkurs robotike 2017

Drugoplasirani na takmičenju iz robotike 2017

Preporučuje se: