Obsah:

DIY viacúčelový robot s Arduinom: 13 krokov (s obrázkami)
DIY viacúčelový robot s Arduinom: 13 krokov (s obrázkami)

Video: DIY viacúčelový robot s Arduinom: 13 krokov (s obrázkami)

Video: DIY viacúčelový robot s Arduinom: 13 krokov (s obrázkami)
Video: High Density 2022 2024, Júl
Anonim
DIY viacúčelový robot s Arduinom
DIY viacúčelový robot s Arduinom
DIY viacúčelový robot s Arduinom
DIY viacúčelový robot s Arduinom
DIY viacúčelový robot s Arduinom
DIY viacúčelový robot s Arduinom

Tento robot bol postavený hlavne na pochopenie Arduina a kombinovanie rôznych projektov Arduina s cieľom vytvoriť viacúčelový robot Arduino. A ďalej, kto by nechcel mať domáceho robota? Tak som to nazval BLUE ROVIER 316. Mohol som si kúpiť krásny pásový podvozok, ale jeho výroba od nuly vás naučí viac a po dokončení vás bude viac hrdý. Robot je schopný porozumieť hlasovým príkazom, odpovedať na jednoduché otázky, ovládať ako RC auto a dokonca sa vyhýbať prekážkam počas pohybu. Ovláda sa predovšetkým prostredníctvom telefónu s Androidom, ktorý je k nemu pripojený prostredníctvom Bluetooth. Na základe funkcií systému Android, ako je rozpoznávanie hlasu Google a snímanie náklonu, sa skutočne môže správať ako roztomilý a inteligentný robot. Do svojho názvu som pridal MODRÚ, pretože je založený hlavne na Bluetooth. Bol to vlastne môj prvý projekt Arduino a chcel som, aby bol jedinečný. Ak sa vám projekt páči, hlasujte za mňa v súťaži Robotics Contest!

Krok 1: Ukážkové video

Image
Image
Príbeh ROVIERA
Príbeh ROVIERA

Ukážku robota si môžete pozrieť na tomto webe:

Krok 2: Príbeh ROVIER

Príbeh ROVIERA
Príbeh ROVIERA

Ak nechcete, aby ste si prešli roztomilý malý príbeh BLUE ROVIER 316., môžete prejsť na ďalší krok. Asi pred rokom som dostal od otca ako darček Arduino UNO. Pretože to bol môj prvý krok v oblasti Arduina, chcel som vytvoriť niečo iné a jedinečné zo všeobecných projektov Arduino. Musel to byť roztomilý a inteligentný robot, ktorý dokáže porozumieť hlasovým príkazom a vykonávať mnoho ďalších inteligentných vecí, ako je diaľkové ovládanie, sledovanie riadkov, vyhýbanie sa prekážkam a podobne. Otázkou bolo, ako ich skombinovať. A po skutočne peknom surfovaní na internete som dospel k záveru, že Bluetooth bude najlacnejší režim. A tak sa BLUE ROVIER dal do pohybu. Nastala však situácia, keď som musel vylúčiť mnoho funkcií robota, ktoré som očakával, že bude mať, a to hlavne kvôli nedostatku pamäte v Arduino UNO (aj ten menší počet digitálne piny na UNO). Nevadí, pokračoval som. Vytvorenie konečnej verzie robota mi trvalo naozaj dlho. A tak po mnohých pokusoch a neúspechoch BLUE ROVIER konečne vznikol. A tak sa teraz môžeme pustiť do výroby robota.

Krok 3: Komponenty a súčasti

Komponenty a diely
Komponenty a diely
Komponenty a diely
Komponenty a diely
Komponenty a diely
Komponenty a diely

Budete potrebovať iba tieto súčasti: 1. Systém Android 2. Arduino Uno 3. modul wtv020-sd-16p a reproduktor 8ohm4. 2x obvod regulátora motora L293d 5. 4x motory a kolesá6. Ultrazvukový senzor HC SR04 7. 9g servo8. 8 Držiak batérie AA a batérie 9. 1 GB micro SD karta 10. malá spínacia skrinka na šasi.11. Modul Bluetooth HC 05 Viem, že to vyzerá draho! Ale nebojte sa, bude to stáť len asi dve alebo tri tisíce rupií. Keď už hovoríme o Androide, nebude to veľký problém vlastniť ho, pretože väčšina ho v dnešnej dobe má. Ale novšie verzie (nad 5,0) môžu výkon zvýšiť. Skúste si kúpiť motory s miernymi otáčkami (60 až 100). Pomohlo by to udržať rýchlosť robota pod kontrolou, pretože nie je nainštalovaný žiadny iný obvod regulácie rýchlosti. A 8 batérií aa stačí na to, aby sa robot mohol dobre napájať. A vzhľadom na Bluetooth je HC 05 vhodný pre robota, pretože je dostatočne lacný a výkon je tiež vynikajúci. 1 GB karta micro SD je potrebná na ukladanie hlasových súborov, ktoré sa prehrávajú, keď je robotovi položená akákoľvek otázka [Podrobne popísané v neskoršej časti návodu]. Ostatné komponenty sú podrobne prediskutované v ich príslušnom kroku.

Prejdime teraz k jednoduchým „teóriám“, ktoré sa v tomto robote používajú.

Krok 4: Teória hlasového ovládania

Teória hlasového ovládania
Teória hlasového ovládania
Teória hlasového ovládania
Teória hlasového ovládania
Teória hlasového ovládania
Teória hlasového ovládania
Teória hlasového ovládania
Teória hlasového ovládania

Robot rozumie hlasovým príkazom prostredníctvom telefónu s Androidom. Hádam každý pozná funkciu Google Voice Recognition, funkciu v systéme Android, kde hovoríme slovo a Google ho zadáva. Rovnaká funkcia sa tu používa na rozpoznávanie hlasových príkazov a ich prevod na textové príkazy. Aplikácia tu prevádza reč na text prostredníctvom služby Google a odosiela ju robotovi prostredníctvom technológie Bluetooth. Robot je naprogramovaný tak, aby nasledoval tieto príkazy prijaté prostredníctvom Bluetooth. Je tiež schopný zodpovedať veľký počet otázok. Do kódu môžete dokonca pridať niekoľko ďalších príkazov, aby robot robil ešte úžasnejšie veci. Tu je aplikácia pre Android:

Krok 5: Teória ovládania gestami

Teória ovládania gestami
Teória ovládania gestami
Teória ovládania gestami
Teória ovládania gestami

Režim ovládania gestami alebo pohybom sa vykonáva aj prostredníctvom systému Android. V tomto režime je možné robota ovládať ako RC auto pomocou systému Android ako volantu. V tomto režime je vo všetkých androidoch nainštalovaný senzor nazývaný „akcelerometer“. Tento akcelerometer môže určiť uhol, pod ktorým je telefón pomenovaný, meraním síl zrýchlenia pôsobiacich na Android. Práve tento senzor spôsobuje, že Android otáča obrazovku, keď telefón nakloníme. Aplikácia tu pomocou akcelerometra telefónu určuje uhol, pod ktorým je telefón naklonený. Potom je robotovi cez Bluetooth odoslaný znak (A, B….). Arduino je naprogramované tak, aby fungovalo podľa prijatých údajov. Ak je telefón naklonený dopredu, odošle sa znak A a robot sa pohne dopredu. Keď je naklonený dozadu, vyšle sa znak B a robot sa pohne dozadu a podobne vľavo a vpravo. Keď je Android umiestnený horizontálne, vyšle sa znak E a robot sa zastaví.

Krok 6: Teória ovládania Bluetooth

Teória ovládania Bluetooth
Teória ovládania Bluetooth
Teória ovládania Bluetooth
Teória ovládania Bluetooth

V tomto režime robot funguje ako všeobecné RC auto. V tomto režime nie je nič nové, je to rovnaké ako všeobecné auto na diaľkové ovládanie dostupné na trhu, jediným rozdielom je, že na ovládanie robota používame aplikáciu pre Android. V aplikácii sú rôzne tlačidlá, z ktorých každé má iné znaky s tým spojené. Po stlačení ľubovoľného klávesu sa robotovi cez Bluetooth odošle postava, podobne ako v režime ovládania gestami. Ďalej sa tie isté znaky odošlú, keď sa dotknete príslušných klávesov, a robot nasleduje prichádzajúce znaky. V aplikácii som použil tlačidlá 360 a -360 stupňov, aby robot vyzeral vpravo a vľavo. Môžete to zmeniť v kóde, ak chcete, aby robot robil ďalšie veci.

Krok 7: Teória vyhýbania sa prekážkam

Teória vyhýbania sa prekážkam
Teória vyhýbania sa prekážkam
Teória vyhýbania sa prekážkam
Teória vyhýbania sa prekážkam

V tomto režime robot funguje ako robot vyhýbajúci sa prekážkam, ktorý zabraňuje kolízii s akýmkoľvek predmetom. To sa deje pomocou senzora HC SR04. Hádam viete o SONAR (Zvuková navigácia a diaľkové ovládanie). Senzor HC SR04 nepretržite vysiela ultrazvukové zvukové vlny. Tieto vlny sa po dopade na pevný povrch odrazia a vrátia sa späť k senzoru. Zaznamená sa čas, ktorý vlny potrebujú na návrat do senzora. Keďže zvuk cestuje približne 340 m/s a vieme, že RÝCHLOSŤ × ČAS = VZDIALENOSŤ, môžeme určiť vzdialenosť dopredu. Ak napríklad zvuk trvá 2 sekundy aby sme sa vrátili, môžeme vzdialenosť určiť pomocou vyššie uvedeného vzorca, tj. 340 × 2 = 680 m. Takto môže robot merať vzdialenosť pred sebou prostredníctvom snímača. Pri pohybe robot nepretržite meria vzdialenosť pred ním prostredníctvom snímača. Ak vycíti, že čistý priestor pred ním je menší ako 30 cm, zastaví sa. Potom sa pozrie doľava a doprava a porovná vzdialenosť jednotlivých strán. Ak má ľavá strana väčšiu vzdialenosť, robot zabočí doľava. V opačnom prípade, ak je pravá strana väčšia, robot odbočí doprava. Ak majú obe strany rovnakú vzdialenosť, robot sa otočí späť. Tento jednoduchý mechanizmus pomáha robotovi vyhýbať sa prekážkam.

Krok 8: Zostavenie podvozku

Zostavenie podvozku
Zostavenie podvozku
Zostavenie podvozku
Zostavenie podvozku
Zostavenie podvozku
Zostavenie podvozku
Zostavenie podvozku
Zostavenie podvozku

Pri výrobe podvozku svojpomocne musíte byť veľmi opatrní pri meraniach a zarovnaní. Rozhodol som sa tak urobiť, pretože som na internete nenašiel taký, ktorý by ma uspokojil. Ako podvozok sa používa všeobecný rozvádzač slúžiaci na napájanie. Hádam sa dá ľahko zohnať v obchode s elektrickými spotrebičmi. Najprv pripevnite štyri motory v spodnej časti pomocou lepidla alebo svoriek a potom pripevnite kolesá. Potom musíte urobiť hlavu robota (servo a snímač HC SR04). Na hlavu odrežte malý kúsok perfboardu a pripevnite ho k servu pomocou skrutky. Potom pomocou lepidla pripevnite ultrazvukový senzor k perfboardu. Vyrežte malý štvorcový otvor v hornej časti škatule a zaistite do nej servo. Potom pomocou skrutky pripevnite držiak batérie na zadnej strane robota. Vložte obvody a ostatné komponenty do škatule a váš podvozok je pripravený. Nezabudnite urobiť pred reproduktorom niekoľko otvorov, aby zvuk vychádzal a produkoval lepšiu kvalitu.

Krok 9: Príprava hlasového modulu

Príprava hlasového modulu
Príprava hlasového modulu
Príprava hlasového modulu
Príprava hlasového modulu
Príprava hlasového modulu
Príprava hlasového modulu

Hovorový režim robota spĺňa modul WTV 020 SD. Modul slúži na prehrávanie hlasových súborov pre robota. Akonáhle sa vyskytne nejaká otázka, arduino prinúti modul prehrať príslušný hlasový súbor na SD karte. Modul obsahuje štyri sériové dátové linky na komunikáciu s arduino, resetom, hodinami, údajmi a zaneprázdnenými kolíkmi. Pamätajte si, že názvy súborov by mali byť desatinné (0001, 0002 …). A že súbory majú byť buď vo formáte AD4 alebo WAV. Modul ďalej funguje iba na 1 GB micro SD karte. Niektoré moduly dokonca fungujú na 2 GB kartách a na kartu sa zmestí maximálne 504 hlasových súborov. Môžete teda zahrnúť veľký počet hlasových súborov, ktoré je možné hrať na veľký počet otázok. Môžete dokonca vytvoriť svoje vlastné hlasové súbory AD4 (Túto časť môžete preskočiť, ak sa môžete prispôsobiť hlasovým súborom, ktoré sú k dispozícii spolu s touto neštruktúrovateľnou). Musíte mať dva softvéry, softvér na úpravu zvuku a softvér 4D SOMO TOOL, ktorý by prevádzal súbory do formátu AD4. Za druhé, musíte pripraviť hlasy robota. Môžete buď prevádzať text na reč, alebo dokonca nahrávať svoj vlastný hlas a vytvárať hlasy robota. Oboje je možné vykonať v softvéri na úpravu zvuku. Ale určite, roboti nevyzerajú dobre, ak hovoria ľudskými hlasmi. Preto by malo byť lepšie prevádzať text na reč. Existujú rôzne motory ako Microsoft Anna a Microsoft Sam Your Computer, ktoré vám k tomu pomôžu. Po príprave hlasových súborov ich musíte uložiť vo frekvencii 32 000 Hz a vo formáte WAV. Modul totiž dokáže prehrávať hlasové súbory až do 32 000 Hz. Potom použite nástroj 4D SOMO TOOL na konverziu súborov do formátu AD4. Ak to chcete urobiť, stačí otvoriť nástroj SOMO TOOL, vybrať súbory a kliknúť na položku Kódovanie AD4 a vaše hlasové súbory sú pripravené. Môžete si pozrieť referenčný obrázok vyššie. Ak chcete ďalšie podrobnosti o vytváraní robotických hlasov, môžete ísť sem:

[Robotické hlasy] Tu sú pôvodné hlasové súbory a softvér:

Krok 10: Vytvorenie prepojení

Vytváranie spojení
Vytváranie spojení
Vytváranie spojení
Vytváranie spojení
Vytváranie spojení
Vytváranie spojení

Skratujte všetky piny Vcc príslušných modulov dohromady a pripojte ich k pinu 5v na arduine. To isté urobte pre gnd piny. Tu sú pripojenia rôznych modulov. Modul HC 05: 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 reproduktor +pin5 na reproduktor -pin7 (hodiny) na arduino dig pin3.pin8 na gnd.pin10 (dáta) na arduino dig pin4.pin15 (zaneprázdnený) na arduino dig pin5.pin16 až 3,3vPotom pripojte kábel signálu signálu (žltý) a vykopajte pin 12. Ovládač motora L293d: pin A1 na arduino kopací kolík 8.pin A2 na arduino diging 9.pin B1 na arduino dig pin 10.pin B2 na výkop pin arduino 11. Pamätajte si, že v tomto robote používame dva moduly L293d. Dôvodom je, že jeden modul má kapacitu na napájanie až dvoch motorov. Na ovládanie štyroch motorov používame dva ovládače motorov. Nezabudnite preto vytvoriť duplicitné pripojenia k obom modulom regulátora motora. Napríklad pripojte pin Arduino 8 na pin A1 oboch modulov ovládača. Nezabudnite pripojiť výstup jedného modulu na dva motory a druhý modul k ďalším dvom motorom. Ďalšie odkazy nájdete v schéme.

Krok 11: Kód Arduino

Arduino kód
Arduino kód
Arduino kód
Arduino kód

Tvorba kódu bola vzrušujúca doba. Nie je to vôbec komplikovaný kód, iba používa niektoré knižnice na komunikáciu s Androidom a zvukovým modulom. Prevažná časť práce sa vykonáva v systéme Android, a nie v Arduine. Kód je založený na komunikácii Bluetooth a prichádzajúcich údajoch z Bluetooth. Kód je vytvorený tak, že musíme robotovi dávať hlasové príkazy na vykonávanie rôznych režimov a Arduino nepretržite kontroluje prichádzajúce signály Bluetooth. Ak chcete zastaviť akýkoľvek režim, stačí povedať „zastaviť“. Jediným problémom s kódom je, že musíme ručne vypnúť robota, keď je v režime vyhýbania sa prekážkam. V tomto režime nemôžeme použiť príkaz „stop“. Zapnutie tejto funkcie totiž ovplyvňuje rýchlosť skenovania vzdialenosti objektov. Arduino bude musieť súčasne čítať vzdialenosť objektu aj prichádzajúce signály Bluetooth. Toto narúša režim a robot sa nedokáže úplne chrániť pred prekážkami. Robot sa nemusí okamžite zastaviť, aj keď je vzdialenosť pred ním menšia ako 30 cm. Bolo by dobré nezahrnúť túto funkciu do tohto režimu. Stačí stiahnuť knižnice a kód a nahrať ho do Arduina. Pred odoslaním však nezabudnite vytiahnuť piny TX a RX (0, 1) z Arduina. Tieto kolíky slúžia na sériovú komunikáciu a používajú sa pri odosielaní kódu. A v tomto robotovi sa tieto kolíky používajú na pripojenie modulu Bluetooth. Nezabudnite ich teda zobrať, inak by to mohlo narušiť váš modul Bluetooth. Tu je kód a knižnice:

Krok 12: Riešenie problémov a zlepšovanie

Riešenie problémov a zlepšovanie
Riešenie problémov a zlepšovanie

Tento krok môžete preskočiť, pretože sa zaoberá iba vylepšeniami robota. V module WTV-020-SD-16p sa vyskytuje veľa problémov týkajúcich sa kapacity pamäťovej karty. Dôvodom je, že niektoré moduly fungujú na 2 GB kartách, zatiaľ čo niektoré nie. Preto je lepšie použiť 1 GB kartu micro SD. Pri použití rôznych verzií komponentov by nebol veľký problém. Možno spomenúť rôzne verzie modulu wtv 020 sd. Je to preto, že medzi modulmi existuje iba rozdiel v balení, pričom väčšina ostatných vnútorných vecí zostáva rovnaká. Ďalšou dôležitou vecou je použitie dosky plošných spojov pre robota, ktorá do značnej miery pomôže znížiť súčasnú spotrebu. Ak pripájate rôzne komponenty rovnako ako ja, bude vás to stáť nejaký prúd, pretože veľké množstvo sa stratí vo vodičoch s vysokým odporom. Dôvodom je, že obvod je dosť veľký. Tento neštruktúrovateľný nezahŕňa návrh dosky plošných spojov (pretože som ju nevyrobil), ale môže zvýšiť energetickú účinnosť robota. Ale MODRÝ ROVIER 316 ešte nie je hotový! Napadlo ma zaradiť ďalšie funkcie, ako napríklad nasledovanie riadkov, riešenie bludísk a mnoho ďalších vecí. Ale zostalo to snom kvôli nedostatku pinov na Arduino UNO (BLUE ROVIER skutočne žerie veľa pinov Arduina). Rozmýšľam preto vylepšiť všetky funkcie tohto robota a skombinovať ich, aby vytvorili sofistikovanejší a užitočnejší robot Arduino. Buďte teda pripravení vidieť upravený pohľad na ROVIER o niekoľko mesiacov !!! Dokonca si prajem vidieť aj ďalšie upravené verzie robota inými ľuďmi, ktorí majú väčšiu kreativitu ako ja !!!!

Krok 13: Hra s robotom

Hra s robotom
Hra s robotom

Zapnite robota a uvidíte, ako vás pozdraví a pohrá sa s vami. Položte si akúkoľvek otázku (nie hlúpu!) A sledujte, ako odpovie. Môžete povedať, aby ste sa riadili riadkami alebo pokračovali. Ak chcete zastaviť robota, povedzte „zastaviť“.

Súťaž robotiky 2017
Súťaž robotiky 2017
Súťaž robotiky 2017
Súťaž robotiky 2017

Runner Up in the Robotics Contest 2017

Odporúča: