Innholdsfortegnelse:
- Trinn 1: Prosjektoversikt
- Trinn 2: Skjemaer
- Trinn 3: PS2 -kontrollerdiagram
- Trinn 4: Oppsett av Zio -moduler
- Trinn 5: Koble Robotic Arm Servo til Zio 16 Servo Controller
- Trinn 6: Koble din 16 Servo til DC/DC Booster og sett den til 6,0V
- Trinn 7: Koble Zuino M Uno til Zio 16 Servo Controller
- Trinn 8: Koble Uno til PS2 -mottakeren
- Trinn 9: Kode for robotarm
- Trinn 10: Kjør koden din
- Trinn 11: Forklaring av kode
Video: Robotarm med Zio -moduler Del 2: 11 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
I dagens opplæring bruker vi alle 4 servoer og en trådløs PS2 -kontroller for å kontrollere robotarmen.
Dette blogginnlegget er en del av Zio Robotics Series.
Introduksjon
I vår forrige blogg la vi ut del 1 -opplæring om hvordan du kontrollerer en robotarm ved hjelp av Zio -moduler. Del 1 konsentrerte seg for det meste om automatisk å kontrollere robotarmens klo for å åpne og lukke.
I dagens opplæring vil vi kutte litt på det ved å inkludere en PS2 trådløs kontroller for å kontrollere robotarmen. For dette prosjektet bruker vi 4 servoer.
Trinn 1: Prosjektoversikt
Vanskelighetsgrad:
Zio Padawan
Nyttige ressurser:
Du bør ha en grunnleggende forståelse for hvordan du installerer Zio utviklingstavler. I denne opplæringen antar vi at utviklingsbordet ditt allerede er konfigurert og er klart til å bli satt opp. Hvis du ikke har konfigurert brettet ditt ennå, kan du ta en titt på Zio Qwiic startguide nedenfor for å komme i gang:
Zio Zuino M UNO Qwiic Startguide
Trinn 2: Skjemaer
Her er kablingsskjemaene for Robotic Arm Part 2 -prosjektet samt PS2 -kontrollerdiagrammet som trengs for å forstå for din kodingsdel.
Trinn 3: PS2 -kontrollerdiagram
Trinn 4: Oppsett av Zio -moduler
Nedenfor er forbindelsen mellom våre Zio -moduler som skal settes opp med Robotic Arm. Det er ganske enkelt å koble alle modulene sammen, og det vil ikke ta mer enn 10 minutter å sette opp.
Trinn 5: Koble Robotic Arm Servo til Zio 16 Servo Controller
Trinn 6: Koble din 16 Servo til DC/DC Booster og sett den til 6,0V
Vi bruker en DC/DC Booster for å øke og justere batteriforsyningsspenningen til 6,0.
Bruk potensiometeret på DC Booster for å justere spenningen til du får 6,0. Trykk på In/Out -knappen til displayet viser 6.0. Du må levere strøm (3,7V batteri) først til DC/DC Booster for å justere spenningen.
Trinn 7: Koble Zuino M Uno til Zio 16 Servo Controller
Qwiic koble Zuino M Uno til Zio Servo -kontrolleren med qwiic -kabel.
Trinn 8: Koble Uno til PS2 -mottakeren
Her er et pin -diagram over tilkoblingene. Du trenger 5 stikkontakter fra mann til kvinne for denne delen.
Trinn 9: Kode for robotarm
Vi bruker PS2 Arduino -biblioteket til å kode PS2 trådløs kontroller for å jobbe med vår robotarm. Du kan finne og laste ned kildekoden for dette Robotic Arm Part 2 -prosjektet på vår Github -side.
Last ned og installer følgende biblioteker og lagre det i din lokale Arduino IDE -biblioteksmappe:
- Adafruit PWM Servo Driver Library
- PS2 Arduino bibliotek
For å installere bibliotekene, åpne Arduino IDE, gå til Skisse -fanen, velg Inkluder bibliotek -> Legg til. Zip -bibliotek. Velg bibliotekene ovenfor som skal inkluderes i IDE -en din.
Arduino har en praktisk guide til hvordan du installerer biblioteker til Arduino IDE. Sjekk dem ut her!
Trinn 10: Kjør koden din
Åpne Arduino IDE. Under Filer> Eksempler> PS2_Arduino_Library, velg PS2X_Servo
Merk: Før du kan kontrollere robotarmen din med PS2 -kontrolleren, må du kontrollere følgende trinn: Slå på PS2 -kontrolleren. Kontroller at modus -LED -en lyser. Hvis ikke, trykker du på Mode -knappen på kontrolleren. Etter å ha gjort det ovenfor, må du trykke på tilbakestillingsknappen på Zuino M Uno for at den skal lese kontrollerinnstillingene. Du må trykke på L1 og styrespaken for å flytte robotarmen.
- Venstre joystick styrer bøyningen av armen oppover eller nedover
- Høyre joystick styrer kloen til enten å åpne eller lukke og rotere kloen til venstre eller høyre.
Trinn 11: Forklaring av kode
Bruk av PS2X Arduino -biblioteket er enkelt, og krever bare en initialisering, et oppsett og deretter en lesekommando.
For å angi tilkoblingen for PS2 -kontrolleren din til Uno, er pinnene du må definere i koden nedenfor:
/************************************************ ****************sett pins til PS2 -kontrolleren:* - 1e kolonne: original* - 2e colmun: Stef? *bytt ut pin -numre med de du bruker ***************************************** **********************/#definere PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#definere PS2_SEL 10 // 16#definere PS2_CLK 12 // 17
Vi har byttet ut pinnene med de vi bruker til å koble til Uno som beskrevet på pinnediagrammet ovenfor.
/************************************************ ***************** velg moduser for PS2 -kontrolleren:* - trykk = analog avlesning av trykknapper* - rumble = motorbrumling*uncomment 1 av linjene for hvert modusvalg ** ************************************************* ************///#definere trykk true#definere trykk false //#definere rumble true#definere rumble false
Her definerte vi PS2 -modus for trykk og rumling som falskt. Vi kommenterte de vi ikke bruker.
Vi bruker bare kontrollerens joystick -kommando og L1 for å kontrollere bevegelsen av vår robotarm.
void loop () {/* Du må lese Gamepad for å få nye verdier og angi vibrasjonsverdier ps2x.read_gamepad (liten motor på/av, større motorstyrke fra 0-255) hvis du ikke aktiverer rumlen, bruk ps2x.read_gamepad (); uten verdier Du bør kalle dette minst en gang i sekundet*/if (error == 1) // hopp over loop hvis ingen kontroller fant retur; annet {// DualShock Controller ps2x.read_gamepad (usann, vibrer); // les kontrolleren og sett den store motoren til å rotere med 'vibrere' hastighet hvis (ps2x. Button (PSB_START)) // vil være SANN så lenge knappen trykkes på Serial.println ("Start holdes inne"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Velg blir holdt"); vibrere = ps2x. Analog (PSAB_CROSS); // dette vil angi den store motorens vibrasjonshastighet basert på hvor hardt du trykker på den blå (X) -knappen hvis (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// skrive ut pinneverdier hvis enten er 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 nedenfor er der vi koder servoene våre som styrer vår robotarm som vi inkluderer i funksjonsanropet under ps2x.button (PSB_L1) || ps2x. -knapp (PSB_R1).
Du må trykke på L1 eller R1 -knappen sammen med styrespaken for å kontrollere robotarmen.
Venstre joystick -kontrollservo 2 og 3 for armdelen - kontrollerer bøyningen henholdsvis opp og ned på armen, mens høyre styrespak betjener servo 0 og 1 i robotarmens klo for å åpne eller lukke, og for å rotere til venstre eller høyre.
SERVO 0, 1 - klo SERVO 2, 3 - Arm
Du kan gjøre endringer i verdiene i denne delen for å kontrollere graden av robotarmens vinkel:
pulselen0 = map (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = kart (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = kart (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = kart (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);
Anbefalt:
Kontroll robotarm med Zio ved hjelp av PS2 -kontroller: 4 trinn
Kontroller robotarm med Zio ved bruk av PS2 -kontroller: Dette blogginnlegget er en del av Zio Robotics -serien. Introduksjon Dette er den siste delen av ‘Kontroller en robotarm med Zio’ -innlegg. I denne opplæringen vil vi legge til en annen del i vår robotarm. Tidligere opplæringsprogrammer inkluderer ikke en base for
HVORDAN MONTERE EN IMPONERENDE TRE ROBOTARM (DEL 3: ROBOTARM) - BASERT PÅ MIKROEN: BITN: 8 trinn
HVORDAN MONTERE EN IMPRESSIV TRE ROBOTARM (DEL 3: ROBOTARM) - BASERT PÅ MIKROEN: BITN: Den neste installasjonsprosessen er basert på fullføring av hindringsmodus. Installasjonsprosessen i forrige seksjon er den samme som installasjonsprosessen i linjesporingsmodus. Så la oss ta en titt på den endelige formen for A
DIY Arduino robotarm, trinn for trinn: 9 trinn
DIY Arduino robotarm, trinn for trinn: Denne opplæringen lærer deg hvordan du bygger en robotarm selv
HVORDAN MONTERE EN IMPRESSIV TRE ROBOTARM (DEL 2: ROBOT FOR Å unngå hindring) - BASERT PÅ MIKROEN: BIT: 3 trinn
HVORDAN MONTERE EN IMPONERENDE TRE ROBOTARM (DEL 2: ROBOT FOR Å unngå hindring)-BASERT PÅ MIKROEN: BIT: Tidligere introduserte vi Armbit i linjesporingsmodus. Deretter introduserer vi hvordan du installerer Armbit for å unngå hindermodus
Hvordan montere en imponerende tre robotarm (del 1: robot for linjesporing)-basert på mikro: bit: 9 trinn
Hvordan montere en imponerende tre robotarm (del 1: robot for linjesporing)-Basert på Micro: Bit: Denne trekaren har tre former, den er veldig annerledes og imponerende. La oss deretter komme inn på det en etter en