- Szükséges anyagok:
- A szükséges alkatrészek 3D nyomtatása:
- Hardver és sematika:
- A robot összeszerelése:
- Az Arduino programozása kétlábú robothoz:
- Alapú Android-alkalmazás feldolgozása:
- Bluetooth vezérlésű kétlábú robot működése:
Üdvözöljük egy másik projektben, amelyben egy kis robotot építünk, amely képes járni és táncolni. A projekt célja, hogy megtanítsa, hogyan készítsen kis hobbirobotokat az Arduino segítségével, és hogyan programozza a Servo motorjait ilyen alkalmazásokhoz. A projekt végén elkészítheti ezt a sétáló és táncoló robotot, amely parancsot vesz fel egy Android mobiltelefonról, hogy előre meghatározott műveleteket hajtson végre. Használhatja a programot (az oktatóanyag végén megadott), hogy könnyen manipulálja saját robotjának műveleteit a szervomotorok helyzetének vezérlésével a soros monitor segítségével. Ha van egy 3D nyomtató, akkor ez a projekt érdekesebbé válik, és jó megjelenésű. De ha még nincs, akkor bármelyik online szolgáltatást igénybe veheti, vagy csak használhat valamilyen kartont ugyanolyan felépítéséhez.
Szükséges anyagok:
A robot felépítéséhez a következők szükségesek:
- Arduino nano
- Szervó SG90 - 4Nos
- Férfi berg botok
- HC-05 / HC-06 Bluetooth modul
- 3d nyomtató
Amint láthatja, ennek a 3D nyomtatott robotnak nagyon minimális elektronikai alkatrészekre van szüksége a megépítéséhez, hogy a projekt költségei a lehető legalacsonyabbak legyenek. Ez a projekt csak koncepcionális és szórakoztató célokat szolgál, és egyelőre nincs valós idejű alkalmazása.
A szükséges alkatrészek 3D nyomtatása:
A 3D nyomtatás lenyűgöző eszköz, amely sokat hozzájárulhat prototípus-projektek építésénél vagy új mechanikai tervek kísérletezésénél. Ha még nem fedezte fel a 3D nyomtató előnyeit vagy működését, elolvashatja a Kezdő útmutató a 3D nyomtatáshoz.
Ebben a projektben a Robot teste, amelyet fent bemutattunk, teljesen 3D-ben nyomtatott. Az STL fájlokat innen töltheti le. Töltse be ezeket a fájlokat a 3D nyomtatási szoftverére, például a Cura-ra, és közvetlenül nyomtassa ki őket. Az összes alkatrész kinyomtatásához egy nagyon egyszerű nyomtatómat használtam. A nyomtató a 3ding FABX v1-es verziója, amely megfizethető áron, 10 köbcentiméteres nyomtatási térfogattal rendelkezik. Az olcsó ár kompromisszumot jelent alacsony nyomtatási felbontással, SD-kártya és nyomtatás folytatás nélküli funkcióval. A Cura nevű szoftvert használom az STL fájlok kinyomtatásához. Az alábbiakban megadom azokat a beállításokat, amelyeket az anyagok kinyomtatásához használtam. Ugyanezeket használhatja, vagy megváltoztathatja a nyomtató alapján.
Miután kinyomtatta az összes alkatrészt, tisztítsa meg a tartóelemeket (ha vannak ilyenek), majd ellenőrizze, hogy a lábon és a hason lévő lyukak elég nagyok-e ahhoz, hogy egy csavar elférjen rajta. Ha nem, használjon tűt, hogy kissé nagyobb legyen a lyuk. A 3D-s nyomtatott alkatrészei úgy néznek ki, mint valami alább.
Hardver és sematika:
A mobiltelefon vezérlésű kétlábú Arduino robot hardvere nagyon egyszerű. A teljes vázlatot az alábbi kép mutatja
A fenti kapcsolatok létrehozásához Perf táblát használtam. Győződjön meg arról, hogy az áramköre is elfér-e a robot fejében. Miután elkészült a Perf táblája, az alábbiaknak kell kinéznie.
A robot összeszerelése:
Miután a hardver és a 3D nyomtatott részek elkészültek, összeállíthatjuk a robotot. A motorok rögzítése előtt feltétlenül helyezze a motorokat az alábbi szögekbe, hogy a program hibátlanul működjön.
Motor száma |
Motoros hely |
Motor helyzet |
1 |
Bal csípő motor |
110 |
2 |
Jobb csípő motor |
100 |
4 |
Jobb boka motor |
90 |
5. |
Jobb csípő motor |
80 |
Ezeket a szögeket az oktatóanyag végén megadott program segítségével lehet beállítani. Egyszerűen töltse fel a programot az Arduino készülékére a fenti kapcsolatok létrehozása után, és írja be a következőket a soros monitorba (Megjegyzés: Az átviteli sebesség 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
A soros monitornak ilyennek kell lennie, miután az összes motorját a helyére tette.
Miután a motorokat a megfelelő szögbe állította, szerelje fel őket a fenti ábra szerint.
Ha zavart a motorok összeszerelésével kapcsolatban, kövesse az oktatóanyag végén található videót. A robot összeszerelése után ideje programozni a táncos robotunkat
Az Arduino programozása kétlábú robothoz:
A BBB robot ( Bluetooth Biped Bob ) programozása a legérdekesebb és szórakoztatóbb rész ebben az oktatóanyagban. Ha nagyon jó a szervomotorok programozása az Arduino-val, akkor azt javasoljuk, hogy készítse el a programot. Bt, ha meg akarja tanulni a szervomotorok használatát ilyen robot alkalmazásokhoz, akkor ez a program nagyon hasznos lesz. Az arduino programozásról többet megtudhat az arduino projektek kategóriánkban.
A teljes program a bemutató végén található, vagy innen töltheti le a teljes kódot. Az alábbiakban ismertetem ugyanannak a szegmensét. A program képes vezérelni a robotok műveleteit soros monitoron vagy Bluetooth-on keresztül. Ön is elvégezheti saját mozdulatait úgy, hogy minden egyes motort vezérel a soros monitor segítségével.
szervo1.attach (3); szervo2.attach (5); szervo4.attach (9); szervo5.attach (10);
A fenti kódsorok megemlítik, hogy melyik szervomotor kapcsolódik az Arduino melyik tűjéhez. Itt a mi esetünkben az 1, 2, 4 és 5 szervo a 3,5, 9 és 10 csapokhoz van csatlakoztatva.
Bot_BT.kezdés (9600); // indítsa el a Bluetooth kommunikációt 9600 baudrate Serial.begin (57600) sebességgel;
Amint azt korábban említettük, sétáló robotunk képes dolgozni Bluetooth parancsokon, és a soros monitor parancsain is. Ezért a Bluetooth soros kommunikáció 9600, a soros kommunikáció pedig 57600 átviteli sebességgel működik. Bluetooth objektumunk neve itt „Bot_BT”.
kapcsoló (motor) {eset 1: // az első motorhoz {Serial.println ("Az egyik motor végrehajtása"); ha (num1
A fent bemutatott kapcsolótok a szervomotorok külön-külön történő vezérlésére szolgál. Ez segít abban, hogy saját kreatív mozdulatokat hajtson végre robotjával. Ezzel a kódszegmenssel egyszerűen meg tudja mondani a motor számát szögtől szögig, hogy egy adott motor a kívánt helyre mozduljon el.
Például, ha az 1-es motort, amely a bal csípőmotor, az alapértelmezett 110 fokos helyéről 60 fokosra akarjuk mozgatni. Egyszerűen beírhatjuk az „1,110,60” -t az Arduino soros monitorjába, és lenyomhatjuk az Enter billentyűt. Ez jól jön, ha saját bonyolult mozdulatokat hajt végre robotjával. Miután kísérletezett az angyaltól a szögig, akkor elvégezheti saját mozdulatait, és megismételheti azokat úgy, hogy azt függvényként hozza létre.
if (Serial.available ()> 0) // Olvassa el, mi érkezik a Serial-on keresztül {gmotor = Serial.parseInt (); Serial.print ("kiválasztott szám->"); Soros nyomtatás (motor); Soros.nyomtatás (","); gnum1 = Soros.parseInt (); Soros nyomtatás (gnum1); Soros.nyomtatás ("fokozat"); gnum2 = Soros.parseInt (); Soros nyomtatás (gnum2); Soros.println ("fok"); zászló = 1; }
Ha rendelkezésre áll soros adat, az első „,” előtti számot gmotornak tekintjük, majd a második „,” előtti számot gnum1-nek, a második „,” utáni számot pedig gnum2-nek tekintjük.
if (Bot_BT.available ()) // Olvassa el, mi érkezik a Bluetooth-on keresztül {BluetoothData = Bot_BT.read (); Serial.print ("Bejövő a BT-től:"); Serial.println (BluetoothData); }
Ha a Bluetooth bizonyos információkat kap, akkor a kapott információkat a „BluetoothData” változó tárolja. Ezt a változót ezután összehasonlítják az előre meghatározott értékekkel egy adott művelet végrehajtásához.
if (flag == 1) hívás (gmotor, gnum1, gnum2); // hívja a megfelelő motort műveletre // Végezze el a függvényeket a soros monitoron vagy a Bluetooth-on keresztül kapott komondás szerint // 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) {teszt (); teszt (); teszt ();}
Itt hívják meg a funkciókat a soros monitortól vagy a Bluetooth-tól kapott értékek alapján. Amint a fentiekből látható, a gmotor változó értéke a soros monitor, a BluetoothData pedig a Bluetooth eszköz értéke lesz. A 10, 11, 12 és 53, 54 közötti számok előre meghatározott számok.
Például, ha beírja a 49-es számot a soros monitorba. A say_hi () függvényt akkor hajtják végre, ahol a robot integet neked.
Az összes funkció a „Bot_Functions” oldalon található. Megnyithatja, és megnézheti, mi történik valójában az egyes funkciókban. Mindezeket a funkciókat úgy hoztuk létre, hogy minden motort angyalról angyalra kísérleteztünk a fent ismertetett kapcsolótok segítségével. Ha kétségei merülnek fel, akkor a megjegyzés rovatban teheti közzé őket, és szívesen segítek.
Alapú Android-alkalmazás feldolgozása:
A robot vezérlésére szolgáló Android alkalmazást az Android feldolgozása mód segítségével építették fel. Ha változtatni szeretne az alkalmazáson, innen letöltheti a teljes Processing programot.
Ha egyszerűen használni szeretné az alkalmazást, innen letöltheti APK fájlként, és közvetlenül telepítheti mobiltelefonjára.
Megjegyzés: Bluetooth-moduljának HC-06 nevet kell adnia, különben az alkalmazás nem tud csatlakozni a Bluetooth-modulhoz.
Az alkalmazás telepítése után párosíthatja a Bluetooth modult a telefonjával, majd elindíthatja az alkalmazást. Valami ilyennek kell kinéznie az alábbiakban.
Ha vonzóbbá akarja tenni alkalmazását, vagy a Hc-06 kivételével bármilyen más eszközhöz csatlakozik. Használhatja a feldolgozási kódot, és módosíthat rajta, majd feltöltheti a kódot közvetlenül a telefonjára.
Bluetooth vezérlésű kétlábú robot működése:
Miután elkészült a hardver, az Android alkalmazás és az Arduino Sketch, itt az ideje szórakozni robotunkkal. A robotot a Bluetooth alkalmazásból vezérelheti az alkalmazás gombjaival, vagy közvetlenül a soros monitorról a következő parancsok használatával, az alábbi képen látható módon.
Mindegyik parancs végrehajtja a robot néhány sajátos feladat elvégzését, és kreativitása alapján további műveleteket is hozzáadhat.
A robot 12 V-os adapterről is táplálható, vagy 9 V-os akkumulátorral is táplálható. Ez az akkumulátor könnyen elhelyezhető a Perf tábla alatt, és a Robot fejével is lefedhető.
Az okos telefon vezérelt robot teljes működése az alábbi videóban található.