
Innehållsförteckning:
- Steg 1: Projektöversikt
- Steg 2: Scheman
- Steg 3: PS2 Controller Diagram
- Steg 4: Inställning för anslutning av Zio -moduler
- Steg 5: Anslut Robotic Arm Servo till Zio 16 Servo Controller
- Steg 6: Anslut din 16 -servo till DC/DC Booster och ställ in den på 6,0V
- Steg 7: Anslut Zuino M Uno till Zio 16 Servo Controller
- Steg 8: Anslut Uno till PS2 -mottagaren
- Steg 9: Kod för robotarm
- Steg 10: Kör din kod
- Steg 11: Kodförklaring
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11

I dagens handledning kommer vi att använda alla fyra servon och en trådlös PS2 -kontroller för att styra robotarmen.
Det här blogginlägget är en del av Zio Robotics Series.
Introduktion
I vår tidigare blogg publicerade vi del 1 -handledning om hur du styr en robotarm med Zio -moduler. Del 1 koncentrerades mestadels på att automatiskt styra din robotarms klo för att öppna och stänga.
I dagens handledning kommer vi att förstora det lite genom att inkludera en PS2 trådlös handkontroll för att styra robotarmen. För detta projekt kommer vi att använda 4 servon.
Steg 1: Projektöversikt
Svårighetsgrad:
Zio Padawan
Användbara resurser:
Du bör ha en grundläggande förståelse för hur du installerar Zio -utvecklingsbrädor. I den här självstudien antar vi att ditt utvecklingskort redan är konfigurerat och är redo att konfigureras. Om du inte har konfigurerat ditt kort ännu, kolla in vår Zio Qwiic Startguide nedan för att komma igång:
Zio Zuino M UNO Qwiic Startguide
Steg 2: Scheman

Här är kopplingsschemat för Robotic Arm Part 2 -projektet samt PS2 -controller -diagrammet som behövs för att förstå din kodningsdel.
Steg 3: PS2 Controller Diagram

Steg 4: Inställning för anslutning av Zio -moduler
Nedan visas anslutningen av våra Zio -moduler som ska installeras med robotarmen. Det är ganska enkelt att ansluta alla moduler och det tar inte mer än 10 minuter att installera.
Steg 5: Anslut Robotic Arm Servo till Zio 16 Servo Controller

Steg 6: Anslut din 16 -servo till DC/DC Booster och ställ in den på 6,0V

Vi använder en DC/DC Booster för att öka och justera batteriets matningsspänning till 6,0.
Använd potentiometern på DC Booster för att justera spänningen tills du får 6,0. Tryck på In/Out -knappen tills displayen visar 6.0. Du måste först mata (3,7V batteri) till din DC/DC Booster för att justera spänningen.
Steg 7: Anslut Zuino M Uno till Zio 16 Servo Controller

Qwiic ansluter Zuino M Uno till Zio Servo -kontrollen med qwiic -kabel.
Steg 8: Anslut Uno till PS2 -mottagaren

Här är ett stiftdiagram över anslutningarna. Du behöver 5 bygelkablar av man till kvinna för den här delen.
Steg 9: Kod för robotarm
Vi kommer att använda PS2 Arduino -biblioteket för att koda vår PS2 trådlösa handkontroll för att arbeta med vår robotarm. Du kan hitta och ladda ner källkoden för detta Robotic Arm Part 2 -projekt på vår Github -sida.
Ladda ner och installera följande bibliotek och spara det i din lokala mapp för Arduino IDE -bibliotek:
- Adafruit PWM Servo Driver Library
- PS2 Arduino -bibliotek
För att installera biblioteken öppnar du din Arduino IDE, går till fliken Skiss, väljer Inkludera bibliotek -> Lägg till. Zip -bibliotek. Välj ovanstående bibliotek som ska ingå i din IDE.
Arduino har en praktisk guide om hur du installerar bibliotek till din Arduino IDE. Kolla in dem här!
Steg 10: Kör din kod

Öppna Arduino IDE. Under Filer> Exempel> PS2_Arduino_Library, välj PS2X_Servo
Obs! Innan du kan styra din robotarm med PS2 -kontrollen, kontrollera följande steg: Slå på din PS2 -kontroller. Kontrollera att LED -läget lyser. Om det inte gör det, tryck på Mode -knappen på din handkontroll. Efter att ha gjort ovanstående måste du trycka på återställningsknappen på din Zuino M Uno för att den ska kunna läsa dina kontrollerinställningar. Du måste trycka på L1 och joysticken för att flytta din robotarm.
- Vänster joystick styr böjningen av armen uppåt eller nedåt
- Höger joystick styr klaven att antingen öppna eller stänga och rotera klon åt vänster eller höger.
Steg 11: Kodförklaring
Användningen av PS2X Arduino -biblioteket är enkelt, kräver bara en initialisering, en installation och sedan ett läskommando.
För att ställa in anslutningen för din PS2 -controller med din Uno, nedan är stiften du behöver definiera i din kod:
/************************************************* ****************set -pins anslutna till PS2 -controller:* - 1e kolumn: original* - 2e colmun: Stef? *ersätt stiftnumren med de du använder ****************************************** **********************/#definiera PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#definiera PS2_SEL 10 // 16#definiera PS2_CLK 12 // 17
Vi har ersatt stiften med de som vi använder för att ansluta till vår Uno enligt beskrivningen på stiftdiagrammet ovan.
/************************************************* ***************** välj lägen för PS2 -styrenheten:* - tryck = analog avläsning av tryckknappar* - mullrande = motorrullning*avdelning 1 av raderna för varje lägesval ** ************************************************** ************///#definiera tryck sant#definiera tryck falska //#definiera mullra sant#definiera mullra falskt
Här definierade vi PS2 -läge för tryck och mullrande som falskt. Vi kommenterade de vi inte använder.
Vi kommer bara att använda styrenhetens joystick -kommando och L1 för att styra rörelsen av vår robotarm.
void loop () {/* Du måste läsa Gamepad för att få nya värden och ställa in vibrationsvärden ps2x.read_gamepad (liten motor på/av, större motorstyrka från 0-255) om du inte aktiverar mullret, använd ps2x.read_gamepad (); utan värden Du bör kalla detta minst en gång i sekunden*/if (fel == 1) // hoppa över slinga om ingen regulator hittade retur; annars {// DualShock Controller ps2x.read_gamepad (falskt, vibrera); // läs styrenheten och ställ in stor motor för att snurra med "vibrera" -hastighet om (ps2x. Button (PSB_START)) // kommer att vara SANT så länge knappen trycks in Serial.println ("Start hålls kvar"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Select is holded"); vibrera = ps2x. Analog (PSAB_CROSS); // detta kommer att ställa in den stora motorns vibrationshastighet baserat på hur hårt du trycker på den blå (X) -knappen om (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// skriv ut pinne -värden om någon av dem är TRUE RY_Value = ps2x. Analog (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Stick Values:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);
Koden nedan är där vi kodar våra servon som styr vår robotarm som vi inkluderar i funktionsanropet under ps2x.knapp (PSB_L1) || ps2x.knapp (PSB_R1).
Du måste trycka på L1 eller R1 -knappen tillsammans med joysticken för att styra din robotarm.
Vänster joystick -styrservos 2 och 3 för armdelen - styr böjningen upp och ner på armen respektive, medan höger joystick styrservos 0 och 1 i robotarmens klo för att öppna eller stänga, och för att rotera vänster eller höger.
SERVO 0, 1 - Claw SERVO 2, 3 - Arm
Du kan göra värden i det här avsnittet för att styra graden av din robotarmsvinkel:
pulselen0 = map (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = map (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = map (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = map (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);
Rekommenderad:
Robotarm med grip: 9 steg (med bilder)

Robotarm med gripare: Att skörda citronträd anses vara hårt arbete, på grund av trädens stora storlek och också på grund av det varma klimatet i de regioner där citronträd planteras. Det är därför vi behöver något annat för att hjälpa jordbruksarbetare att slutföra sitt arbete mer
DIY robotarm 6 axlar (med stegmotorer): 9 steg (med bilder)

DIY Robot Arm 6 Axis (med Stepper Motors): Efter mer än ett års studier, prototyper och olika misslyckanden lyckades jag bygga en järn / aluminium robot med 6 frihetsgrader som styrs av stegmotorer. Den svåraste delen var designen eftersom Jag ville uppnå tre grundläggande mål
Vifta med handen för att styra OWI robotarm Inga strängar kopplade: 10 steg (med bilder)

Vifta med handen för att styra OWI Robotic Arm … Inga strängar bifogade: IDÉEN: Det finns minst 4 andra projekt på Instructables.com (från och med den 13 maj 2015) kring att ändra eller styra OWI Robotic Arm. Inte överraskande, eftersom det är ett så bra och billigt robotkit att spela med. Detta projekt liknar i
Arduino kontrollerad robotarm med 6 frihetsgrader: 5 steg (med bilder)

Arduino kontrollerad robotarm med 6 frihetsgrader: Jag är medlem i en robotgrupp och varje år deltar vår grupp i en årlig Mini-Maker Faire. Från och med 2014 bestämde jag mig för att bygga ett nytt projekt för varje års evenemang. På den tiden hade jag ungefär en månad innan evenemanget att sätta ihop något
Styr robotarm med Zio med PS2 -styrenhet: 4 steg

Kontrollera robotarm med Zio med PS2 -styrenhet: Det här blogginlägget är en del av Zio Robotics -serien. Introduktion Detta är den sista delen av inlägget "Kontrollera en robotarm med Zio". I denna handledning kommer vi att lägga till en annan del till vår robotarm. Tidigare självstudier innehåller inte en bas för