- Mga Materyal na Kinakailangan:
- Pag-print ng 3D ng mga kinakailangang bahagi:
- Hardware at Schems:
- Pag-iipon ng robot:
- Programming ang Arduino para sa Biped Robot:
- Batay sa pagpoproseso ng Android Application:
- Paggawa ng Bluetooth Controlled Biped Robot:
Maligayang pagdating sa isa pang proyekto kung saan magtatayo kami ng isang maliit na Robot na maaaring maglakad at sumayaw. Nilalayon ng proyekto na turuan ka kung paano gumawa ng mga maliliit na robot ng libangan gamit ang Arduino at kung paano i-program ang iyong mga motor sa Servo para sa mga naturang aplikasyon. Sa pagtatapos ng proyekto magagawa mong maglakad at sumayaw ng robot na kumukuha ng utos mula sa isang Android Mobile Phone upang magsagawa ng ilang paunang natukoy na mga pagkilos. Maaari mo ring gamitin ang programa (na ibinigay sa dulo ng tutorial) upang madaling manipulahin ang mga pagkilos ng iyong sariling robot sa pamamagitan ng pagkontrol sa posisyon ng mga motor na servo gamit ang Serial monitor. Ang pagkakaroon ng isang 3d printer ay gagawing mas nakakainteres ang proyekto na ito at magmukhang cool. Ngunit, kung wala kang isa maaari kang gumamit ng anuman sa mga serbisyong online o gumamit lamang ng ilang karton upang bumuo ng pareho.
Mga Materyal na Kinakailangan:
Ang mga sumusunod ay ang mga materyal na kinakailangan para sa pagbuo ng robot na ito:
- Arduino nano
- Servo SG90 - 4No
- Lalake berg sticks
- HC-05 / HC-06 Bluetooth module
- 3d printer
Tulad ng nakikita mo ang 3D naka-print na robot na ito ay nangangailangan ng napakaliit na mga bahagi ng electronics upang maitayo upang mapanatili ang gastos ng proyekto nang mas mababa hangga't maaari. Ang proyektong ito ay para lamang sa haka-haka at kasiya-siyang layunin at walang anumang real time application sa ngayon.
Pag-print ng 3D ng mga kinakailangang bahagi:
Ang 3D na pag-print ay isang kamangha-manghang tool na maaaring magbigay ng maraming kapag pagbuo ng mga proyekto ng prototype o pag-eksperimento sa mga bagong disenyo ng mekanikal. Kung hindi mo pa natuklasan ang mga pakinabang ng isang 3D printer o kung paano ito gumagana maaari mong basahin ang Gabay sa mga nagsisimula sa 3D na pag-print.
Sa proyektong ito ang katawan ng Robot na ipinakita sa itaas ay ganap na naka-print na 3D. Maaari mong i-download ang mga STL file mula rito. I-load ang mga file na ito sa iyong 3D software sa pag-print tulad ng Cura at direktang i-print ang mga ito. Gumamit ako ng isang napaka-pangunahing printer ng aking upang mai-print ang lahat ng mga bahagi. Ang printer ay FABX v1 mula sa 3ding na nagmumula sa isang abot-kayang presyo na may dami ng naka-print na 10 cubic cm. Ang murang presyo ay kasama ng isang trade off na may mababang resolusyon sa pag-print at walang pagpapaandar sa SD card o pag-print sa pagpapatuloy. Gumagamit ako ng software na tinatawag na Cura upang mai-print ang mga STL file. Ang mga setting na ginamit ko upang i-print ang mga materyales ay ibinibigay sa ibaba maaari mong gamitin ang pareho o baguhin ang mga ito batay sa iyong printer.
Kapag na-print mo na ang lahat ng mga bahagi malinis ang mga suporta (kung mayroon man) at pagkatapos ay tiyakin na ang mga butas sa binti at bahagi ng tiyan ay sapat na malaki upang magkasya sa isang tornilyo. Kung hindi, gumamit ng karayom upang gaanong mas malaki ang butas. Ang iyong mga naka-print na bahagi ng 3D ay magiging hitsura ng isang bagay sa ibaba.
Hardware at Schems:
Ang Hardware para sa Mobile Phone Controlled Biped Arduino Robot na ito ay talagang simple. Ang kumpletong mga eskematiko ay ipinapakita sa larawan sa ibaba
Gumamit ako ng isang Perf board upang gawin ang mga koneksyon sa itaas. Tiyaking magkakasya rin ang iyong circuit sa loob ng ulo ng robot. Kapag handa na ang iyong Perf board dapat itong magmukhang katulad sa ibaba.
Pag-iipon ng robot:
Kapag handa na ang Hardware at ang mga naka-print na bahagi ay maaari na nating tipunin ang robot. Bago ayusin ang mga motor tiyaking inilalagay mo ang mga motor sa mga anggulo sa ibaba upang ang programa ay gumagana nang walang kamali-mali.
Numero ng Motor |
Lugar ng motor |
Posisyon ng motor |
1 |
Kaliwang Hip motor |
110 |
2 |
Tamang Hip motor |
100 |
4 |
Right Ankle Motor |
90 |
5 |
Tamang Hip motor |
80 |
Ang mga anggulong ito ay maaaring itakda sa pamamagitan ng paggamit ng program na ibinigay sa pagtatapos ng tutorial. I-upload lamang ang programa sa iyong Arduino pagkatapos gawin ang mga koneksyon sa itaas at i-type ang sumusunod sa serial monitor (Tandaan: Ang rate ngaudong ay 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Ang iyong Serial monitor ay dapat magmukhang ganito pagkatapos ilagay ang lahat ng iyong mga motor sa posisyon.
Kapag ang mga motor ay naka-set sa mga kaukulang anggulo i-mount ang mga ito tulad ng ipinakita sa itaas na pigura.
Kung naguguluhan ka sa kung paano tipunin ang mga motor sundin ang video sa pagtatapos ng tutorial na ito. Kapag naipon na ang Robot oras na upang iprograma ang ating robot na sumasayaw
Programming ang Arduino para sa Biped Robot:
Ang pagprograma sa BBB Robot ( Bluetooth Biped Bob ) ay ang pinaka-kagiliw-giliw at kasiya-siyang bahagi sa tutorial na ito. Kung napakahusay mo sa pagprogram ng mga motor ng servo kasama ang Arduino kung gayon irekomenda ko sa iyo na gawin ang iyong programa. Bt, kung nais mong malaman kung paano gumamit ng servo motors para sa mga robotic application tulad nito, kung gayon ang program na ito ay magiging kapaki-pakinabang. Maaari kang matuto nang higit pa tungkol sa programa ng arduino sa aming kategorya ng mga proyekto ng arduino.
Ang kumpletong programa ay ibinibigay sa pagtatapos ng tutorial na ito, o maaari mong i-download ang kumpletong code mula dito. Ipapaliwanag ko ang mga segment ng pareho sa ibaba. Ang programa ay may kakayahang kontrolin ang mga pagkilos ng Robots sa pamamagitan ng serial monitor o Bluetooth. Maaari ka ring gumawa ng iyong sariling mga paggalaw sa pamamagitan ng pagkontrol sa bawat indibidwal na motor gamit ang serial monitor.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Ang mga linya sa itaas ng code na ginagamit nito upang banggitin kung aling servo motor ang nakakonekta sa kung aling pin ng Arduino. Dito sa aming kaso ang Servo 1,2,4 at 5 ay konektado sa mga pin 3,5,9 at 10 ayon sa pagkakabanggit.
Bot_BT.begin (9600); // simulan ang komunikasyon sa Bluetooth sa 9600 baudrate Serial.begin (57600);
Tulad ng sinabi nang mas maaga ang aming naglalakad na robot ay maaaring gumana sa mga utos ng Bluetooth at mula din sa mga utos mula sa serial monitor. Samakatuwid ang Bluetooth serial na komunikasyon ay gumagana sa isang Baud Rate na 9600 at ang serial na komunikasyon ay gumagana sa Baud Rate ng 57600. Ang pangalan ng aming Bluetooth na object dito ay "Bot_BT".
switch (motor) {case 1: // For motor one {Serial.println ("Pagpapatupad ng motor na isa"); kung (num1
Ang switch case na ipinakita sa itaas ay ginagamit upang makontrol ang servo motors nang paisa-isa. Makakatulong ito sa paggawa ng iyong sariling mga malikhaing paglipat sa iyong robot. Sa segment na ito ng code maaari mo lamang sabihin ang numero ng motor, mula sa anggulo at sa anggulo upang makagawa ng isang partikular na paglipat ng motor sa isang nais na lokasyon.
Halimbawa kung nais naming ilipat ang motor number 1 na kung saan ay ang kaliwang hip motor mula sa default na lokasyon na 110 degree hanggang 60 degree. Maaari lamang naming isulat ang "1,110,60" sa serial monitor ng Arduino at pindutin ang enter. Darating ito sa madaling gamiting upang makagawa ng iyong sariling mga kumplikadong paglipat sa iyong Robot. Sa sandaling mag-eksperimento ka sa lahat ng mula sa anghel at hanggang sa anggulo maaari mo nang gawin ang iyong sariling mga galaw at ulitin ang mga ito sa pamamagitan ng paggawa nito bilang isang pagpapaandar.
kung (Serial.available ()> 0) // Basahin kung ano ang papasok sa pamamagitan ng Serial {gmotor = Serial.parseInt (); Serial.print ("napiling Numero->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("degree,"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("degree"); watawat = 1; }
Kung ang isang Serial data ay magagamit ang numero bago ang unang "," ay isinasaalang-alang bilang gmotor at pagkatapos ang numero bago ang pangalawang "," ay isinasaalang-alang bilang gnum1 at ang numero pagkatapos ng pangalawang "," ay isinasaalang-alang bilang gnum2.
kung (Bot_BT.available ()) // Basahin kung ano ang papasok sa pamamagitan ng Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Papasok mula sa BT:"); Serial.println (BluetoothData); }
Kung tumatanggap ang Bluetooth ng ilang impormasyon, ang natanggap na impormasyon ay nakaimbak sa variable na "BluetoothData". Ang variable na ito ay inihambing sa mga paunang natukoy na halaga upang magpatupad ng isang partikular na aksyon.
kung (flag == 1) tumawag (gmotor, gnum1, gnum2); // tawagan ang kani-kanilang motor para sa aksyon // Ipatupad ang mga pagpapaandar ayon sa natanggap na commond sa pamamagitan ng Serial monitor o Bluetooth // kung (gmotor == 10) left_leg_up (); kung (gmotor == 11) right_leg_up (); kung (gmotor == 12) ilipat_left_front (); kung (gmotor == 13) ilipat_ Right_front (); kung (BluetoothData == 49 - gmotor == 49) say_hi (); kung (BluetoothData == 50 - gmotor == 50) walk1 (); kung (BluetoothData == 51 - gmotor == 51) walk2 (); kung (BluetoothData == 52 - gmotor == 52) dance1 (); kung (BluetoothData == 53 - gmotor == 53) sayaw2 (); kung (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Dito tinatawag ang mga pagpapaandar batay sa mga halagang natanggap mula sa serial monitor o sa Bluetooth. Tulad ng ipinakita sa itaas ang variable gmotor ay magkakaroon ng halaga ng serial monitor at ang BluetoothData ay magkakaroon ng halaga mula sa Bluetooth device. Ang mga bilang na 10,11,12 hanggang sa 53,54 ay paunang natukoy na mga numero.
Halimbawa kung ipinasok mo ang numero 49 sa serial monitor. Ang say_hi () na pagpapaandar ay papatayin kung saan ang robot ay magpapaway sa iyo ng isang hi.
Ang lahat ng mga pag-andar ay tinukoy sa loob ng pahina ng "Bot_Function". Maaari mo itong buksan at makita kung ano talaga ang nangyayari sa loob ng bawat pagpapaandar. Ang lahat ng mga pagpapaandar na ito ay nilikha sa pamamagitan ng pag-eksperimento sa kanila mula sa anghel at sa anghel ng bawat motor gamit ang switch case na ipinaliwanag sa itaas. Kung mayroon kang anumang pag-aalinlangan maaari mong gamitin ang seksyon ng komento upang mai-post ang mga ito at nalulugod akong tulungan ka.
Batay sa pagpoproseso ng Android Application:
Ang application ng Android upang makontrol ang Robot ay binuo gamit ang Processing Android mode. Kung nais mong gumawa ng ilang mga pagbabago sa Application maaari mong i-download ang kumpletong programa sa Pagproseso mula dito.
Kung nais mo lamang gamitin ang application maaari mong i-download ito mula dito bilang isang APK file at direktang mai-install ito sa iyong mobile phone.
Tandaan: Ang iyong module ng Bluetooth ay dapat mapangalanang HC-06 kung hindi ang application ay hindi makakonekta sa iyong Bluetooth Module.
Kapag na-install na ang application, maaari mong ipares ang module ng Bluetooth sa iyong Telepono at pagkatapos ay ilunsad ang application. Dapat itong magmukhang ganito sa ibaba.
Kung nais mong gawing mas kaakit-akit ang iyong app o kumonekta sa anumang iba pang aparato maliban sa Hc-06. Maaari mong gamitin ang code sa pagproseso at gumawa ng ilang mga pagbabago dito at pagkatapos ay i-upload ang code nang direkta sa iyong telepono.
Paggawa ng Bluetooth Controlled Biped Robot:
Kapag handa na ang iyong Hardware, Android Application at Arduino Sketch oras na upang magsaya kasama ang aming robot. Maaari mong kontrolin ang Robot mula sa Application ng Bluetooth sa pamamagitan ng paggamit ng mga pindutan sa application o direkta mula sa Serial monitor sa pamamagitan ng paggamit ng mga sumusunod na utos tulad ng ipinakita sa imahe sa ibaba.
Ang bawat utos ay gagawa ng robot sa ilang mga kakaibang gawain at maaari ka ring magdagdag sa maraming mga aksyon batay sa iyong pagkamalikhain.
Ang Robot ay maaari ring pinalakas ng isang 12V adapter o maaari ring mapagana sa pamamagitan ng paggamit ng isang 9V na baterya. Ang baterya na ito ay maaaring madaling nakaposisyon sa ibaba ng Perf board at maaari ding masakop ng Ulo ng Robot.
Ang kumpletong Paggawa ng Smart Phone Controlled Robot na ito ay matatagpuan sa Video sa ibaba.