- Potrebni materijali:
- 3D ispis potrebnih dijelova:
- Hardver i sheme:
- Sastavljanje robota:
- Programiranje Arduina za dvonožnog robota:
- Obrada temeljena na Android aplikaciji:
- Rad dvonožnog robota kontroliranog Bluetoothom:
Dobrodošli u još jedan projekt u kojem ćemo izgraditi malog robota koji može hodati i plesati. Cilj projekta je naučiti vas kako napraviti male hobi robote pomoću Arduina i kako programirati svoje servo motore za takve primjene. Na kraju projekta moći ćete izraditi ovog robota za hodanje i ples koji prima zapovijed od Android mobitela za izvršavanje nekih unaprijed definiranih radnji. Također možete koristiti program (naveden na kraju vodiča) za lako manipuliranje radnjama vašeg vlastitog robota kontrolirajući položaj servo motora pomoću serijskog monitora. Imati 3d printer učinit će ovaj projekt zanimljivijim i izgledat će cool. Ali, ako ga nemate, možete koristiti bilo koju internetsku uslugu ili jednostavno koristiti neki karton za izradu istih.
Potrebni materijali:
Sljedeći su materijali potrebni za izradu ovog robota:
- Arduino nano
- Servo SG90 - 4Br
- Muški berg štapići
- Bluetooth modul HC-05 / HC-06
- 3D printer
Kao što vidite, ovaj 3D tiskani robot zahtijeva vrlo malo elektroničkih dijelova za izradu kako bi troškovi projekta bili što niži. Ovaj je projekt samo u konceptualne i zabavne svrhe i do sada nema primjenu u stvarnom vremenu.

3D ispis potrebnih dijelova:
3D ispis je nevjerojatan alat koji može puno doprinijeti prilikom izrade prototipskih projekata ili eksperimentiranja s novim mehaničkim dizajnom. Ako još niste otkrili prednosti 3D printera ili kako on funkcionira, možete pročitati Vodič za početnike za 3D ispis.
U ovom projektu tijelo Robota prikazano gore u potpunosti je 3D ispisano. STL datoteke možete preuzeti ovdje. Učitajte ove datoteke u svoj softver za 3D ispis poput Cura i izravno ih ispišite. Za ispis svih dijelova koristio sam vrlo osnovni printer. Pisač je FABX v1 tvrtke 3ding koji dolazi po pristupačnoj cijeni s obujmom ispisa od 10 kubičnih cm. Povoljna cijena dolazi uz kompromis s niskom razlučivošću ispisa i bez SD kartice ili funkcije nastavka ispisa. Za ispis STL datoteka koristim softver nazvan Cura. Postavke koje sam koristio za ispis materijala dane su u nastavku. Možete ih koristiti iste ili ih promijeniti na temelju vašeg pisača.

Nakon što otisnete sve dijelove, očistite nosače (ako ih ima), a zatim provjerite jesu li rupe na nozi i dijelu trbuha dovoljno velike da stanu u vijak. Ako ne, pomoću igle napravite rupu malo većom. Vaši 3D tiskani dijelovi izgledat će poput nečega u nastavku.

Hardver i sheme:
Hardver za ovaj dvonožni robot Arduino pod nadzorom mobitela zaista je jednostavan. Kompletne sheme prikazane su na donjoj slici

Koristio sam Perf ploču za izradu gore navedenih veza. Pazite da se vaš krug uklopi i u glavu robota. Jednom kad je vaša Perf ploča spremna, trebala bi izgledati otprilike dolje.
Sastavljanje robota:
Kad su hardver i 3D tiskani dijelovi spremni, možemo sastaviti robota. Prije pričvršćivanja motora, postavite motore u donje kutove tako da program radi besprijekorno.
| Broj motora | Motorno mjesto | Položaj motora | 
| 1 | Motor lijevog kuka | 110 | 
| 2 | Motor desnog kuka | 100 | 
| 4 | Motor desnog gležnja | 90 | 
| 5 | Motor desnog kuka | 80 | 
Ti se kutovi mogu postaviti pomoću programa navedenog na kraju tutorijala. Jednostavno prenesite program na svoj Arduino nakon što napravite gore navedene veze i unesite sljedeće u serijski monitor (Napomena: Brzina prijenosa je 57600).
1, 100, 110
2.90.100
4,80,90
5,70,80
Vaš serijski monitor trebao bi izgledati otprilike ovako nakon postavljanja svih vaših motora u položaj.


Nakon što su motori postavljeni u odgovarajuće kutove, montirajte ih kao što je prikazano na gornjoj slici.
Ako ste zbunjeni kako sastaviti motore, slijedite video na kraju ovog vodiča. Jednom kada je robot sastavljen, vrijeme je za programiranje našeg plesnog robota
Programiranje Arduina za dvonožnog robota:
Programiranje BBB robota ( Bluetooth dvonožni Bob ) najzanimljiviji je i najzabavniji dio ovog vodiča. Ako ste vrlo dobri u programiranju servo motora s Arduinom, tada bih vam preporučio da napravite svoj program. Bt, ako želite naučiti kako koristiti servo motore za robotske aplikacije poput ove, tada će vam ovaj program biti od velike pomoći. Možete naučiti više o programiranju arduina u našoj kategoriji projekata arduino.
Cjelovit program dan je na kraju ovog vodiča, a možete ga preuzeti ovdje. U nastavku ću objasniti segmente istih. Program je sposoban kontrolirati radnje robota putem serijskog monitora ili Bluetootha. Također možete povući vlastiti potez upravljajući svakim pojedinačnim motorom pomoću serijskog monitora.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Gornje linije koda koristi za spominjanje koji je servo motor spojen na koji pin Arduina. Ovdje su u našem slučaju Servo 1,2,4 i 5 povezani na pinove 3,5,9 i 10 respektivno.
Bot_BT.begin (9600); // započnite Bluetooth komunikaciju na 9600 baudrate Serial.begin (57600);
Kao što je ranije rečeno, naš hodajući robot može raditi na Bluetooth naredbama i također na naredbama sa serijskog monitora. Stoga Bluetooth serijska komunikacija radi s brzinom prijenosa od 9600, a serijska komunikacija s brzinom prijenosa od 57600. Naziv našeg Bluetooth objekta ovdje je "Bot_BT".
prekidač (motor) {slučaj 1: // Za motor jedan {Serial.println ("Izvršavanje motora jedan"); ako (num1
Gore prikazano kućište prekidača koristi se za pojedinačno upravljanje servo motorima. To će vam pomoći u stvaranju vlastitih kreativnih poteza s vašim robotom. Pomoću ovog segmenta koda možete jednostavno reći broj motora, iz kuta u kut, kako bi se određeni motor pomaknuo na željeno mjesto.
Na primjer, ako želimo pomaknuti motor broj 1 koji je motor lijevog kuka sa zadanog mjesta od 110 stupnjeva na 60 stupnjeva. Jednostavno možemo napisati “1,110,60” na serijski monitor Arduina i pritisnuti enter. Ovo će vam dobro doći za vlastiti složeni potez sa svojim robotom. Nakon što eksperimentirate sa svim anđeoskim i kutnim kutovima, možete povući svoje poteze i ponoviti ih izradom funkcije.
if (Serial.available ()> 0) // Pročitajte što dolazi putem Serial {gmotor = Serial.parseInt (); Serial.print ("odabrani broj->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("stupanj"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("stupanj"); zastava = 1; }
Ako su dostupni serijski podaci, broj prije prvog "," smatra se gmotorom, a zatim broj prije drugog "," smatra se gnum1, a broj nakon drugog "," smatra se gnum2.
if (Bot_BT.available ()) // Pročitajte što dolazi putem Bluetootha {BluetoothData = Bot_BT.read (); Serial.print ("Incoming from BT:"); Serial.println (BluetoothData); }
Ako Bluetooth primi neke podatke, primljeni podaci pohranjuju se u varijablu "BluetoothData". Zatim se ta varijabla uspoređuje s unaprijed definiranim vrijednostima za izvršenje određene radnje.
if (flag == 1) call (gmotor, gnum1, gnum2); // pozvati odgovarajući motor na akciju // Izvršiti funkcije prema zajednici primljenoj putem serijskog monitora ili Bluetootha // 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 (); ako (BluetoothData == 52 - gmotor == 52) dance1 (); ako (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Ovdje se pozivaju funkcije na temelju vrijednosti primljenih od serijskog monitora ili Bluetootha. Kao što je gore prikazano, varijabla gmotor imat će vrijednost serijskog monitora, a BluetoothData vrijednost iz Bluetooth uređaja. Brojevi od 10,11,12 do 53,54 unaprijed su definirani brojevi.
Na primjer, ako na serijski monitor unesete broj 49. Funkcija say_hi () izvršit će se tamo gdje će vam robot mahnuti.
Sve su funkcije definirane unutar stranice "Bot_Functions". Možete ga otvoriti i vidjeti što se zapravo događa unutar svake funkcije. Sve ove funkcije stvorene su eksperimentiranjem od anđela do anđela svakog motora pomoću gore opisanog slučaja prekidača. Ako sumnjate, možete ih koristiti u odjeljku za komentare i rado ću vam pomoći.
Obrada temeljena na Android aplikaciji:
Android aplikacija za kontrolu Robota izrađena je pomoću načina Obrada Androida. Ako želite unijeti neke promjene u aplikaciju, ovdje možete preuzeti cjelokupni program za obradu.
Ako jednostavno želite koristiti aplikaciju, ovdje je možete preuzeti kao APK datoteku i izravno je instalirati na svoj mobilni telefon.
Napomena: Vaš Bluetooth modul trebao bi se zvati HC-06, inače se aplikacija neće moći povezati s vašim Bluetooth modulom.
Nakon što je aplikacija instalirana, Bluetooth modul možete upariti s telefonom, a zatim ga pokrenuti. Dolje bi trebalo izgledati otprilike ovako.

Ako svoju aplikaciju želite učiniti atraktivnijom ili se povezati s bilo kojim drugim uređajem osim Hc-06. Možete koristiti kôd za obradu i unijeti neke izmjene u njega, a zatim ga prenijeti izravno na telefon.
Rad dvonožnog robota kontroliranog Bluetoothom:
Kada vaš hardver, aplikacija za Android i Arduino Sketch budu spremni, vrijeme je da se zabavite s našim robotom. Robotom možete upravljati iz Bluetooth aplikacije pomoću gumba u aplikaciji ili izravno sa serijskog monitora pomoću sljedećih naredbi kao što je prikazano na donjoj slici.

Svaka naredba natjerat će robota na izvršavanje nekih neobičnih zadataka, a možete dodati i više radnji na temelju svoje kreativnosti.
Robot se također može napajati preko adaptera od 12V ili se također može napajati pomoću baterije od 9V. Ova se baterija može lako postaviti ispod ploče Perf, a može se prekriti i glavom robota.

Kompletan rad ovog robota kontroliranog pametnim telefonom možete pronaći u videozapisu ispod.

