Tartalomjegyzék:
- 1. lépés: A projekt áttekintése
- 2. lépés: Vázlatok
- 3. lépés: PS2 vezérlő diagram
- 4. lépés: A Zio modulok csatlakoztatásának beállítása
- 5. lépés: Csatlakoztassa a robotkaros szervót a Zio 16 szervo vezérlőhöz
- 6. lépés: Csatlakoztassa 16 szervóját DC/DC erősítőhöz, és állítsa 6,0 V -ra
- 7. lépés: Csatlakoztassa a Zuino M Uno -t a Zio 16 szervo vezérlőhöz
- 8. lépés: Az Uno csatlakoztatása a PS2 vevőhöz
- 9. lépés: A robotkar kódja
- 10. lépés: Futtassa a kódot
- 11. lépés: A kód magyarázata
Videó: Robotkar Zio modulokkal 2. rész: 11 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
A mai oktatóanyagban mind a 4 szervót és egy PS2 vezeték nélküli vezérlőt fogjuk használni a robotkar vezérléséhez.
Ez a blogbejegyzés a Zio Robotics sorozat része.
Bevezetés
Korábbi blogunkban közzétettük az 1. rész bemutatóját arról, hogyan lehet Zio modulok segítségével vezérelni egy robotkart. Az első rész többnyire arra összpontosított, hogy automatikusan vezérelje a robotkar karját a nyitáshoz és a bezáráshoz.
A mai oktatóanyagban egy kicsit megnöveljük, ha PS2 vezeték nélküli vezérlőt is beépítünk a robotkar vezérléséhez. Ehhez a projekthez 4 szervót fogunk használni.
1. lépés: A projekt áttekintése
Nehézségi szint:
Zio Padawan
Hasznos források:
Alapvető ismeretekkel kell rendelkeznie a Zio fejlesztőlapok telepítéséről. Ebben az oktatóanyagban feltételezzük, hogy a fejlesztőtábla már konfigurálva van, és készen áll a beállításra. Ha még nem konfigurálta a táblát, a kezdéshez tekintse meg az alábbi Zio Qwiic Start Guide bemutatónkat:
Zio Zuino M UNO Qwiic Kezdő útmutató
2. lépés: Vázlatok
Itt található a Robotkar 2. rész projektjének bekötési rajza, valamint a kódoló rész megértéséhez szükséges PS2 vezérlő diagram.
3. lépés: PS2 vezérlő diagram
4. lépés: A Zio modulok csatlakoztatásának beállítása
Az alábbiakban bemutatjuk a Zio moduljaink csatlakoztatását a robotkarral. Az összes modul összekapcsolása nagyon egyszerű, és nem tart tovább 10 percnél.
5. lépés: Csatlakoztassa a robotkaros szervót a Zio 16 szervo vezérlőhöz
6. lépés: Csatlakoztassa 16 szervóját DC/DC erősítőhöz, és állítsa 6,0 V -ra
DC/DC erősítőt használunk az akkumulátor tápfeszültségének növelésére és beállítására 6,0 -ra.
A DC Booster potenciométerével állítsa be a feszültséget, amíg 6,0 értéket nem kap. Nyomja meg a Be/Ki gombot, amíg a kijelzőn megjelenik a 6.0. A feszültség beállításához először áramot (3,7 V -os elemet) kell szolgáltatnia a DC/DC Booster -hez.
7. lépés: Csatlakoztassa a Zuino M Uno -t a Zio 16 szervo vezérlőhöz
Qwiic Csatlakoztassa a Zuino M Uno -t a Zio Servo vezérlőhöz qwiic kábellel.
8. lépés: Az Uno csatlakoztatása a PS2 vevőhöz
Itt található a kapcsolatok pin diagramja. Ehhez a részhez 5 férfi -női jumper vezetékre van szüksége.
9. lépés: A robotkar kódja
A PS2 Arduino könyvtár segítségével kódoljuk a PS2 vezeték nélküli vezérlőnket, hogy együttműködjön a robotkarunkkal. Ennek a robotkaros 2. rész projektnek a forráskódját megtalálhatja és letöltheti a Github oldalunkon.
Töltse le és telepítse a következő könyvtárakat, és mentse a helyi Arduino IDE könyvtárak mappájába:
- Adafruit PWM Servo Driver Library
- PS2 Arduino könyvtár
A könyvtárak telepítéséhez nyissa meg az Arduino IDE -t, lépjen a Vázlat fülre, válassza a Könyvtár felvétele -> Hozzáadás. Zip könyvtár lehetőséget. Válassza ki a fenti könyvtárakat, amelyek szerepelni fognak az IDE -ben.
Az Arduino praktikus útmutatót tartalmaz a könyvtárak Arduino IDE -be történő telepítéséhez. Nézze meg őket itt!
10. lépés: Futtassa a kódot
Nyissa meg az Arduino IDE -t. A Fájlok> Példák> PS2_Arduino_Library területen válassza a PS2X_Servo lehetőséget
Megjegyzés: Mielőtt a PS2 vezérlővel vezérelheti robotkarját, ellenőrizze az alábbi lépéseket: Kapcsolja be a PS2 vezérlőt. Ellenőrizze, hogy a Mode LED világít -e. Ha nem, nyomja meg a Mode gombot a vezérlőn. A fentiek elvégzése után meg kell nyomnia a Zuino M Uno reset gombját, hogy elolvashassa a vezérlő beállításait. Nyomja meg az L1 gombot és a botkormányt a robotkar mozgatásához.
- A bal joystick vezérli a kar felfelé vagy lefelé hajlítását
- A Joystick vezérli a karmot, hogy nyissa vagy zárja, és balra vagy jobbra forgassa.
11. lépés: A kód magyarázata
A PS2X Arduino könyvtár használata egyszerű, csak inicializálást, beállítást, majd olvasási parancsot igényel.
A PS2 vezérlő és az Uno kapcsolatának beállításához az alábbiakban a PIN -kódokat kell megadnia a kódban:
/************************************************* ****************PS2 vezérlőhöz csatlakoztatott csapok:* - 1e oszlop: eredeti* - 2e colmun: Stef? *cserélje ki a PIN -kódokat azokra, amelyeket használ ****************************************** **********************/#define PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#define PS2_SEL 10 // 16#define PS2_CLK 12 // 17
A csapokat lecseréltük azokra, amelyeket az Uno -hoz való csatlakozásunkhoz használunk, amint azt a fenti pin diagram mutatja.
/************************************************* **************** Válassza ki a PS2 vezérlő üzemmódjait:* - nyomás = nyomógombok analóg leolvasása* - dübörgés = motorzúgás*az egyes módok kiválasztásához tartozó sorok 1. megjegyzése ** ************************************************** ************ //
Itt definiáltuk a PS2 módot a nyomás és a dübörgés hamisnak. Megjegyeztük azokat, amelyeket nem használunk.
Csak a vezérlő joystick parancsát és az L1 -et fogjuk használni a robotkarunk mozgásának vezérlésére.
void loop () {/* El kell olvasnia a Gamepadet, hogy új értékeket kapjon, és beállítsa a rezgési értékeket ps2x.read_gamepad (kis motor be/ki, nagyobb motorerősség 0-255 között), ha nem engedélyezi a zúgást, használja a ps2x.read_gamepad (); értékek nélkül Ezt legalább másodpercenként meg kell hívni*/if (error == 1) // kihagyni a ciklust, ha nincs vezérlő visszatérés; else {// DualShock Controller ps2x.read_gamepad (hamis, rezeg); // olvassa el a vezérlőt, és állítsa be a nagymotort, hogy "rezgő" sebességgel forogjon, ha (ps2x. Button (PSB_START)) // IGAZ lesz, amíg a gombot megnyomják Serial.println ("Az indítás tartva van"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Kiválasztás folyamatban"); rezeg = ps2x. Analog (PSAB_CROSS); // ez beállítja a nagy motor rezgési sebességét attól függően, hogy milyen erősen nyomja meg a kék (X) gombot, ha (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// kinyomtatja a botértékeket, ha valamelyik TRUE RY_Value = ps2x. Analog (PSS_RY); RX_érték = ps2x. Analóg (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Stick Values:"); Soros.nyomtatás (RX_érték); Serial.print (""); Sorozatnyomat (RY_érték); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Sorozat.println (LX_érték);
Az alábbi kódban kódoljuk a robotkarunkat vezérlő szervóinkat, amelyeket a függvényhívásban a ps2x.button (PSB_L1) alatt veszünk fel || ps2x.button (PSB_R1).
A robotkar vezérléséhez nyomja meg az L1 vagy R1 gombot a joystick segítségével.
A bal oldali joystick vezérlő szervok 2 és 3 a kar részhez - szabályozza a kar felfelé és lefelé hajlítását, míg a jobb joystick a robotkar karjának 0 és 1 szervóját nyitja vagy zárja, és balra vagy jobbra forgatja.
SERVO 0, 1 - Karom SERVO 2, 3 - Kar
Ebben a részben módosíthatja az értékeket, hogy szabályozhassa a robotkar szöge mértékét:
pulselen0 = térkép (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = térkép (RX_érték, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = térkép (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = térkép (LX_érték, 0, 255, SERVOMIN3, SERVOMAX3);
Ajánlott:
Robotkar vezérlése Zio -val a PS2 vezérlő használatával: 4 lépés
Robotkar vezérlése Zio segítségével PS2 vezérlő használatával: Ez a blogbejegyzés a Zio Robotics sorozat része. Ebben az oktatóanyagban egy másik részt adunk hozzá a robotkarunkhoz. A korábbi oktatóanyagok nem tartalmaznak alapot a
Robotkar Zio modulokkal 3. rész: 4 lépés
Robotkar Zio modulokkal 3. rész: Ez a blogbejegyzés a Zio Robotics sorozat része. Bevezetés Korábbi blogunkban közzétettük az 1. és 2. rész oktatóanyagát arról, hogyan lehet Zio modulok segítségével vezérelni egy robotkart. Az első rész többnyire a robotkar karjának automatikus vezérlésére összpontosított
Bemutatjuk az I2C -t Zio modulokkal és Qwiic -el: 6 lépés
Robin Sharma elmondta az I2C -t a Zio modulokkal és a Qwiic -szel: „A napi kis fejlesztések idővel lenyűgöző eredményekhez vezetnek”. Lehet, hogy azt gondolja: „Jaj, újabb I2C bejegyzés?”. Nos, minden bizonnyal több ezer információ található az I2C -ről. De maradjon velünk, ez nem csak egy újabb I2C
Robotkar vezérlése Zio modulokkal 1. rész: 8 lépés
Robotkar vezérlése Zio modulokkal 1. rész: Ez a blogbejegyzés a Zio Robotics sorozat része. Ez a projekt megtanítja, hogyan kell kinyitni és bezárni a robotkar karját. Ezt az n
ROS MoveIt robotkar 2. rész: Robotvezérlő: 6 lépés
ROS MoveIt Robot Arm 2. rész: Robotvezérlő: https://github.com/AIWintermuteAI/ros-moveit-arm.gitA cikk előző részében URDF és XACRO fájlokat hoztunk létre robotkarunkhoz, és elindítottuk az RVIZ-t robotkar szimulált környezetben. Ezúttal a reával