- Potrebné materiály:
- 3D tlač požadovaných dielov:
- Hardvér a schémy:
- Zostavenie robota:
- Programovanie Arduina pre dvojnohý robot:
- Aplikácia pre Android založená na spracovaní:
- Fungovanie dvojbodového robota riadeného technológiou Bluetooth:
Vitajte v ďalšom projekte, v ktorom postavíme malého robota, ktorý dokáže chodiť a tancovať. Cieľom projektu je naučiť vás, ako vyrábať malé hobby roboty pomocou Arduina a ako programovať vaše servomotory pre takéto aplikácie. Na konci projektu budete môcť vyrobiť tohto kráčajúceho a tancujúceho robota, ktorý prevezme príkaz z mobilného telefónu so systémom Android a vykoná niektoré vopred definované akcie. Môžete tiež použiť program (uvedený na konci tutoriálu) na ľahkú manipuláciu s činnosťami vášho vlastného robota riadením polohy servomotorov pomocou sériového monitora. Vďaka 3D tlačiarni bude tento projekt zaujímavejší a bude vyzerať v pohode. Ak ich však nemáte, môžete použiť niektorú z online služieb alebo si ich vyrobiť pomocou kartónu.
Potrebné materiály:
Na výrobu tohto robota sú potrebné nasledujúce materiály:
- Arduino nano
- Servo SG90 - 4č
- Mužské berg palice
- Modul Bluetooth HC-05 / HC-06
- 3D tlačiareň
Ako vidíte, tento 3D tlačený robot vyžaduje na zostavenie veľmi minimálnych elektronických súčiastok, aby náklady na projekt boli čo najnižšie. Tento projekt má iba koncepčný a zábavný účel a zatiaľ nemá žiadnu aplikáciu v reálnom čase.
3D tlač požadovaných dielov:
3D tlač je úžasný nástroj, ktorý môže veľa prispieť pri stavbe prototypových projektov alebo pri experimentovaní s novými mechanickými návrhmi. Ak ste ešte neobjavili výhody 3D tlačiarne alebo ako to funguje, môžete si prečítať Sprievodcu 3D tlačou pre začiatočníkov.
V tomto projekte je vyššie zobrazené telo robota vytlačené úplne 3D. Súbory STL si môžete stiahnuť odtiaľto. Vložte tieto súbory do svojho softvéru na 3D tlač, ako je Cura, a priamo ich vytlačte. Na tlač všetkých častí som použil svoju veľmi základnú tlačiareň. Tlačiareň je FABX v1 od spoločnosti 3ding, ktorá je za prijateľnú cenu s objemom tlače 10 kubických cm. Lacná cena je s kompromisom s nízkym rozlíšením tlače a bez SD karty alebo funkcie obnovenia tlače. Na tlač súborov STL používam softvér s názvom Cura. Nastavenia, ktoré som použil na tlač materiálov, sú uvedené nižšie. Môžete ich použiť rovnako alebo ich zmeniť na základe vašej tlačiarne.
Po vytlačení všetkých častí očistite podpery (ak existujú) a potom skontrolujte, či sú otvory na nohe a brušnej časti dostatočne veľké, aby sa do nich vošla skrutka. Ak nie, otvorom mierne zväčšite otvor. Vaše 3D tlačené časti budú vyzerať ako niečo nižšie.
Hardvér a schémy:
Hardvér pre tento dvojúrovňový robot Arduino ovládaný mobilným telefónom je naozaj jednoduchý. Kompletné schémy sú zobrazené na obrázku nižšie
Na vykonanie vyššie uvedených pripojení som použil dosku Perf. Uistite sa, že sa váš obvod zmestí aj do hlavy robota. Keď je vaša doska Perf hotová, mala by vyzerať asi ako nižšie.
Zostavenie robota:
Keď sú hardvér a 3D tlačené diely pripravené, môžeme zostaviť robota. Pred upevnením motorov sa uistite, že ste ich umiestnili do pod uhlov, aby program fungoval bezchybne.
Číslo motora |
Motorové miesto |
Poloha motora |
1 |
Ľavý bedrový motor |
110 |
2 |
Pravý bedrový motor |
100 |
4 |
Pravý členkový motor |
90 |
5 |
Pravý bedrový motor |
80 |
Tieto uhly je možné nastaviť pomocou programu uvedeného na konci tutoriálu. Po vykonaní vyššie uvedených pripojení jednoducho nahrajte program do svojho Arduina a do sériového monitora zadajte nasledujúci text (Poznámka: Prenosová rýchlosť je 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Po umiestnení všetkých motorov do polohy by mal váš sériový monitor vyzerať asi takto.
Len čo sú motory nastavené v zodpovedajúcich uhloch, namontujte ich, ako je to znázornené na obrázku vyššie.
Ak nemáte jasno v tom, ako zostaviť motory, postupujte podľa videa na konci tohto tutoriálu. Len čo je robot zostavený, je čas naprogramovať nášho tanečného robota
Programovanie Arduina pre dvojnohý robot:
Programovanie robota BBB ( Bluetooth Biped Bob ) je najzaujímavejšou a najzábavnejšou časťou tohto tutoriálu. Ak ste veľmi dobrí v programovaní servomotorov s Arduinom, odporúčam vám, aby ste si vytvorili svoj program. Bt, ak sa chcete naučiť používať servomotory pre také robotické aplikácie, potom bude tento program veľmi užitočný. Viac sa o programovaní Arduino dozviete v našej kategórii Arduino Projects.
Kompletný program je uvedený na konci tohto tutoriálu alebo si môžete stiahnuť kompletný kód odtiaľto. Ďalej vysvetlím ich segmenty. Program je schopný riadiť akcie robotov cez sériový monitor alebo Bluetooth. Môžete tiež robiť svoje vlastné pohyby ovládaním každého jednotlivého motora pomocou sériového monitora.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Vyššie uvedené riadky kódu sa používajú na spomenutie, ktorý servomotor je pripojený ku ktorému kolíku Arduina. V tomto prípade sú servá 1,2,4 a 5 pripojené k pinom 3,5,9 a 10.
Bot_BT.begin (9600); // zahájiť komunikáciu Bluetooth na 9600 baudrate Serial.begin (57600);
Ako už bolo povedané, náš chodiaci robot môže pracovať na príkazoch Bluetooth a tiež na príkazoch zo sériového monitora. Preto sériová komunikácia Bluetooth pracuje s prenosovou rýchlosťou 9600 a sériová komunikácia pracuje s prenosovou rýchlosťou 57600. Názov nášho objektu Bluetooth je tu „Bot_BT“.
switch (motor) {case 1: // For motor one {Serial.println ("Executing motor one"); if (num1
Vyššie uvedená skriňa spínača sa používa na individuálne riadenie servomotorov. Pomôže vám to pri tvorení vlastných kreatívnych pohybov s robotom. Pomocou tohto segmentu kódu môžete jednoducho zistiť číslo motora z uhla a do uhla, aby sa určitý motor presunul na požadované miesto.
Napríklad, ak chceme presunúť motor číslo 1, ktorý je motorom ľavého boku, z predvoleného umiestnenia 110 stupňov na 60 stupňov. Do sériového monitora Arduina môžeme jednoducho napísať „1 110,60“ a stlačiť kláves Enter. To sa vám bude hodiť pri robení vlastných zložitých pohybov s robotom. Akonáhle experimentujete so všetkým od anjela až po uhol, potom môžete robiť svoje vlastné pohyby a opakovať ich tak, že to urobíte ako funkciu.
if (Serial.available ()> 0) // Prečítajte si, čo prichádza cez Serial {gmotor = Serial.parseInt (); Serial.print ("vybrané číslo->"); Sériová tlač (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Sériový výtlačok (gnum1); Serial.print ("degree"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("stupeň"); vlajka = 1; }
Ak sú k dispozícii sériové údaje, číslo pred prvým „,“ sa považuje za gmotor a potom číslo pred druhým „,“ sa považuje za gnum1 a číslo za druhým „,“ sa považuje za gnum2.
if (Bot_BT.available ()) // Čítať, čo prichádza cez Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Prichádzajúce z BT:"); Serial.println (BluetoothData); }
Ak Bluetooth prijíma určité informácie, prijaté informácie sa ukladajú do premennej „BluetoothData“. Táto premenná sa potom porovnáva s preddefinovanými hodnotami na vykonanie konkrétnej akcie.
if (flag == 1) call (gmotor, gnum1, gnum2); // zavolajte príslušný motor na akciu // vykonajte funkcie podľa príkazu prijatého cez sériový monitor alebo Bluetooth // if (gmotor == 10) left_leg_up (); if (gmotor == 11) right_leg_up (); if (gmotor == 12) move_left_front (); if (gmotor == 13) move_right_front (); if (BluetoothData == 49 - gmotor == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) walk1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); if (BluetoothData == 52 - gmotor == 52) dance1 (); if (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Toto je miesto, kde sa funkcie volajú na základe hodnôt prijatých zo sériového monitora alebo rozhrania Bluetooth. Ako je uvedené vyššie, premenný gmotor bude mať hodnotu sériového monitora a BluetoothData bude mať hodnotu zo zariadenia Bluetooth. Čísla 10,11,12 až 53,54 sú preddefinované čísla.
Napríklad ak zadáte číslo 49 na sériovom monitore. Spustí sa funkcia say_hi (), pri ktorej vás robot bude mávať ahoj.
Všetky funkcie sú definované na stránke „Bot_Functions“. Môžete ho otvoriť a zistiť, čo sa vlastne deje vo vnútri každej funkcie. Všetky tieto funkcie boli vytvorené experimentovaním od anjela k anjelovi každého motora pomocou vyššie vysvetlenej skrinky spínača. Ak máte pochybnosti, môžete ich použiť v sekcii komentárov a rád vám pomôžem.
Aplikácia pre Android založená na spracovaní:
Aplikácia pre Android na ovládanie robota bola zostavená pomocou režimu Android pre spracovanie. Ak chcete v aplikácii vykonať nejaké zmeny, môžete si odtiaľto stiahnuť kompletný program spracovania.
Ak chcete aplikáciu jednoducho použiť, môžete si ju odtiaľto stiahnuť ako súbor APK a priamo ju nainštalovať do svojho mobilného telefónu.
Poznámka: Váš modul Bluetooth by mal mať názov HC-06, inak sa aplikácia nebude môcť pripojiť k vášmu modulu Bluetooth.
Po nainštalovaní aplikácie môžete spárovať modul Bluetooth s telefónom a potom aplikáciu spustiť. Nižšie by to malo vyzerať asi takto.
Ak chcete svoju aplikáciu zatraktívniť alebo sa pripojiť k inému zariadeniu ako Hc-06. Môžete použiť spracovávací kód, urobiť v ňom nejaké zmeny a potom kód nahrať priamo do telefónu.
Fungovanie dvojbodového robota riadeného technológiou Bluetooth:
Keď budú vaše hardvérové aplikácie, aplikácie pre Android a Arduino Sketch hotové, je čas sa s našim robotom pobaviť. Robota môžete ovládať z aplikácie Bluetooth pomocou tlačidiel v aplikácii alebo priamo zo sériového monitora pomocou jedného z nasledujúcich príkazov, ako je znázornené na obrázku nižšie.
Každý príkaz prinúti robota vykonať niektoré zvláštne úlohy a na základe svojej kreativity môžete tiež pridať ďalšie akcie.
Robot môže byť tiež napájaný z 12V adaptéra alebo môže byť tiež napájaný z 9V batérie. Túto batériu je možné ľahko umiestniť pod dosku Perf a možno ju tiež zakryť hlavou robota.
Kompletné fungovanie tohto inteligentného telefónu riadeného robotom nájdete na videu nižšie.