- Nepieciešamie materiāli:
- Nepieciešamo detaļu 3D drukāšana:
- Aparatūra un shēmas:
- Robota montāža:
- Arduino programmēšana divkājainajam robotam:
- Notiek Android lietojumprogrammas apstrāde:
- Bluetooth vadāmā divkājaina robota darbība:
Laipni lūdzam citā projektā, kurā mēs izveidosim nelielu robotu, kas var staigāt un dejot. Projekta mērķis ir iemācīt jums izveidot mazus hobija robotus, izmantojot Arduino, un kā programmēt savus Servo motorus šādām lietojumprogrammām. Projekta beigās jūs varēsiet izgatavot šo pastaigu un deju robotu, kas no Android mobilā tālruņa uzņem komandu, lai veiktu dažas iepriekš definētas darbības. Varat arī izmantot programmu (kas sniegta apmācības beigās), lai viegli manipulētu ar paša robota darbībām, kontrolējot servomotoru stāvokli, izmantojot sērijas monitoru. 3D printera lietošana padarīs šo projektu interesantāku un izskatīsies forši. Bet, ja jums tāda nav, varat izmantot jebkuru no tiešsaistes pakalpojumiem vai vienkārši izmantot kartonu, lai to izveidotu.
Nepieciešamie materiāli:
Lai izveidotu šo robotu, ir nepieciešami šādi materiāli:
- Arduino nano
- Servo SG90 - 4Nos
- Vīriešu bergas nūjas
- HC-05 / HC-06 Bluetooth modulis
- 3D printeris
Kā redzat, šim 3D drukātajam robotam ir nepieciešamas ļoti minimālas elektronikas detaļas, lai projekta izmaksas būtu pēc iespējas zemākas. Šis projekts ir paredzēts tikai konceptuālam un jautram mērķim, un līdz šim tam nav reāllaika pielietojuma.
Nepieciešamo detaļu 3D drukāšana:
3D druka ir pārsteidzošs rīks, kas var dot lielu ieguldījumu, veidojot prototipa projektus vai eksperimentējot ar jauniem mehāniskiem dizainiem. Ja vēl neesat atklājis 3D printera priekšrocības vai kā tas darbojas, varat izlasīt iesācēju 3D drukāšanas rokasgrāmatu.
Šajā projektā iepriekš redzamā robota korpuss ir pilnībā izdrukāts 3D formātā. STL failus varat lejupielādēt šeit. Ielādējiet šos failus 3D drukāšanas programmatūrā, piemēram, Cura, un tieši tos izdrukājiet. Lai izdrukātu visas detaļas, esmu izmantojis ļoti vienkāršu printeri. Printeris ir FABX v1 no 3ding, un tā cena ir par pieņemamu cenu un drukas apjoms ir 10 kubikcentimetri. Lētajai cenai ir kompromiss ar zemu drukas izšķirtspēju un bez SD kartes vai drukas atsākšanas funkciju. STL failu drukāšanai izmantoju programmatūru ar nosaukumu Cura. Materiālu drukāšanai izmantotie iestatījumi ir norādīti zemāk. Jūs varat tos izmantot vai mainīt, pamatojoties uz printeri.
Kad esat izdrukājis visas detaļas, notīriet balstus (ja tādi ir) un pēc tam pārliecinieties, ka cauruma uz kājas un vēdera daļas ir pietiekami lielas, lai būtu piemērota skrūve. Ja nē, izmantojiet adatu, lai caurums būtu nedaudz lielāks. Jūsu 3D drukātās daļas izskatīsies kaut kā zemāk.
Aparatūra un shēmas:
Aparatūra šim mobilā tālruņa kontrolētajam divkāju Arduino robotam ir patiešām vienkārša. Pilna shēma ir parādīta zemāk esošajā attēlā
Lai izveidotu iepriekš minētos savienojumus, esmu izmantojis Perf plāksni. Pārliecinieties, ka jūsu ķēde ietilpst robota galvā. Kad jūsu Perf dēlis ir gatavs, tam vajadzētu izskatīties apmēram šādi.
Robota montāža:
Kad aparatūra un 3D izdrukātās daļas ir gatavas, mēs varam salikt robotu. Pirms motoru nostiprināšanas pārliecinieties, ka motorus novietojat zemākos leņķos, lai programma darbotos nevainojami.
Motora numurs |
Motora vieta |
Motora stāvoklis |
1 |
Kreisās gūžas locītavas motors |
110 |
2 |
Labais gurnu motors |
100 |
4 |
Labās potītes motors |
90 |
5 |
Labais gurnu motors |
80 |
Šos leņķus var iestatīt, izmantojot programmu, kas sniegta apmācības beigās. Pēc iepriekšminēto savienojumu izveidošanas vienkārši augšupielādējiet programmu savā Arduino un sērijveida monitorā ierakstiet šo (piezīme: Bauda ātrums ir 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
Pēc visu motoru novietošanas jūsu sērijas monitoram vajadzētu izskatīties apmēram tā.
Kad motori ir iestatīti attiecīgajos leņķos, piestipriniet tos, kā parādīts attēlā.
Ja jums ir neskaidrības par to, kā samontēt motorus, sekojiet videoklipam šīs apmācības beigās. Kad robots ir samontēts, ir pienācis laiks ieprogrammēt mūsu dejojošo robotu
Arduino programmēšana divkājainajam robotam:
Programmēšana BBB Robot ( Bluetooth divkājains Bobs ) ir visvairāk interesanti un jautri daļa šo pamācību. Ja jūs ļoti labi programmējat servomotorus ar Arduino, es iesaku jums izveidot savu programmu. Bt, ja vēlaties uzzināt, kā izmantot servomotorus šādām robotprogrammām, šī programma būs ļoti noderīga. Jūs varat uzzināt vairāk par arduino programmēšanu mūsu arduino projektu kategorijā.
Pilna programma ir sniegta šīs apmācības beigās, vai arī šeit varat lejupielādēt pilnu kodu. Tālāk es paskaidrošu tā paša segmentus. Programma spēj kontrolēt robotu darbības, izmantojot sērijveida monitoru vai Bluetooth. Varat arī pats veikt kustības, vadot katru motoru, izmantojot sērijveida monitoru.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Iepriekš minētās koda rindas tiek izmantotas, lai pieminētu, kurš servomotors ir savienots ar kuru Arduino tapu. Šeit mūsu gadījumā Servo 1,2,4 un 5 ir savienoti attiecīgi ar 3,5,9 un 10 tapām.
Bot_BT.sākums (9600); // sāciet Bluetooth sakarus ar 9600 baudrate Serial.begin (57600);
Kā jau iepriekš minēts, mūsu staigāšanas robots var strādāt ar Bluetooth komandām un arī no sērijveida monitora komandām. Tādējādi Bluetooth sērijveida sakari darbojas ar 9600 pārraides ātrumu un sērijveida sakari ar 57600 pārraides ātrumu. Mūsu Bluetooth objekta nosaukums šeit ir “Bot_BT”.
slēdzis (motors) {gadījums 1: // vienam motoram {Serial.println ("Izpilda vienu motoru"); ja (num1
Iepriekš redzamais slēdža korpuss tiek izmantots, lai individuāli vadītu servomotorus. Tas palīdzēs veikt savus radošos gājienus ar savu robotu. Izmantojot šo koda segmentu, jūs varat vienkārši pateikt motora numuru no leņķa līdz leņķim, lai konkrētais motors pārvietotos vēlamajā vietā.
Piemēram, ja mēs vēlamies pārvietot motora numuru 1, kas ir kreisā gūžas locītavas motors, no tā noklusējuma atrašanās vietas 110 grādiem līdz 60 grādiem. Mēs varam vienkārši ierakstīt “1,110,60” Arduino sērijveida monitorā un nospiest Enter. Tas būs noderīgi, lai veiktu savus sarežģītos gājienus ar savu robotu. Kad esat eksperimentējis ar visu no eņģeļa līdz leņķim, jūs varat pats veikt kustības un atkārtot tos, veicot to kā funkciju.
if (Serial.available ()> 0) // Lasiet, kas ienāk, izmantojot Serial {gmotor = Serial.parseInt (); Serial.print ("izvēlētais numurs->"); Sērijas.druka (gmotors); Sērijas.druka (","); gnum1 = Serial.parseInt (); Sērijas.druka (gnum1); Sērijas.druka ("grāds"); gnum2 = Serial.parseInt (); Sērijas.druka (gnum2); Serial.println ("grāds"); karogs = 1; }
Ja ir pieejami sērijas dati, skaitlis pirms pirmā “,” tiek uzskatīts par gmotoru, un skaitlis pirms otrā “,” tiek uzskatīts par gnum1 un skaitlis aiz otrā “,” tiek uzskatīts par gnum2.
if (Bot_BT.available ()) // Lasiet, kas ienāk, izmantojot Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Ienākošais no BT:"); Serial.println (BluetoothData); }
Ja Bluetooth saņem noteiktu informāciju, saņemtā informācija tiek saglabāta mainīgajā “BluetoothData”. Pēc tam šo mainīgo salīdzina ar iepriekš noteiktajām vērtībām, lai veiktu noteiktu darbību.
if (karogs == 1) zvans (gmotor, gnum1, gnum2); // izsaukt attiecīgo motoru darbībai // Izpildiet funkcijas atbilstoši komandai, kas saņemta caur Serial monitoru vai Bluetooth // if (gmotor == 10) left_leg_up (); if (gmotors == 11) right_leg_up (); if (gmotors == 12) pārvietoties_kreisais_fronts (); if (gmotors == 13) pārvietoties_pareizs_fronts (); ja (BluetoothData == 49 - motors == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) walk1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); ja (BluetoothData == 52 - gmotor == 52) dance1 (); ja (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {testēt (); testēt (); testēt ();}
Šeit funkcijas tiek izsauktas, pamatojoties uz vērtībām, kas saņemtas no sērijveida monitora vai Bluetooth. Kā parādīts iepriekš, mainīgajam gmotor būs seriālā monitora vērtība, un BluetoothData būs vērtība no Bluetooth ierīces. Skaitļi 10,11,12 līdz 53,54 ir iepriekš noteikti skaitļi.
Piemēram, ja sērijveida monitorā ievadāt skaitli 49. Funkcija say_hi () tiks izpildīta tur, kur robots pamodinās.
Visas funkcijas ir definētas lapā “Bot_Functions”. Jūs varat to atvērt un redzēt, kas patiesībā notiek katras funkcijas iekšpusē. Visas šīs funkcijas tika izveidotas, eksperimentējot no katra eņģeļa līdz eņģelim, izmantojot iepriekš izskaidroto slēdža korpusu. Ja jums ir kādas šaubas, varat tos izmantot komentāru sadaļā, un es labprāt jums palīdzēsim.
Notiek Android lietojumprogrammas apstrāde:
Android lietojumprogramma robota vadībai tika izveidota, izmantojot Android apstrādes režīmu. Ja vēlaties veikt dažas izmaiņas lietojumprogrammā, šeit varat lejupielādēt visu apstrādes programmu.
Ja vēlaties vienkārši izmantot lietojumprogrammu, varat to lejupielādēt šeit kā APK failu un tieši instalēt to savā mobilajā tālrunī.
Piezīme. Jūsu Bluetooth modulim vajadzētu būt nosaukumam HC-06, pretējā gadījumā lietojumprogramma nevarēs izveidot savienojumu ar jūsu Bluetooth moduli.
Kad lietojumprogramma ir instalēta, varat savienot pārī Bluetooth moduli ar tālruni un pēc tam palaist programmu. Zemāk tam vajadzētu izskatīties apmēram šādi.
Ja vēlaties padarīt savu lietotni pievilcīgāku vai izveidot savienojumu ar jebkuru citu ierīci, izņemot Hc-06. Jūs varat izmantot apstrādes kodu un veikt tajā dažas izmaiņas un pēc tam augšupielādēt kodu tieši savā tālrunī.
Bluetooth vadāmā divkājaina robota darbība:
Kad aparatūra, Android lietojumprogramma un Arduino Sketch ir gatava, ir laiks izklaidēties ar mūsu robotu. Robotu var kontrolēt, izmantojot Bluetooth lietojumprogrammu, izmantojot lietojumprogrammas pogas vai tieši no sērijas monitora, izmantojot šādas komandas, kā parādīts zemāk esošajā attēlā.
Katra komanda liks robotam veikt dažus savdabīgus uzdevumus, un jūs varat arī pievienot citas darbības, pamatojoties uz jūsu radošumu.
Robotu var darbināt arī ar 12 V adapteri vai arī ar 9 V akumulatoru. Šo akumulatoru var viegli novietot zem Perf dēļa, un to var arī pārklāt ar robota galvu.
Pilnīga šī viedtālruņa kontrolētā robota darbība ir atrodama zemāk esošajā video.