Indholdsfortegnelse:

Robotarm med Zio -moduler Del 2: 11 trin
Robotarm med Zio -moduler Del 2: 11 trin

Video: Robotarm med Zio -moduler Del 2: 11 trin

Video: Robotarm med Zio -moduler Del 2: 11 trin
Video: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, November
Anonim
Robotarm med Zio -moduler del 2
Robotarm med Zio -moduler del 2

I dagens tutorial vil vi bruge alle 4 servoer og en PS2 trådløs controller til at styre robotarmen.

Dette blogindlæg er en del af Zio Robotics Series.

Introduktion

I vores tidligere blog offentliggjorde vi del 1 -tutorial om, hvordan du styrer en robotarm ved hjælp af Zio -moduler. Del 1 koncentrerede sig for det meste om automatisk at kontrollere din robotarms klo for at åbne og lukke.

I dagens tutorial vil vi skære lidt op ved at inkludere en PS2 trådløs controller til at styre robotarmen. Til dette projekt vil vi bruge 4 servoer.

Trin 1: Projektoversigt

Sværhedsgrad:

Zio Padawan

Nyttige ressourcer:

Du bør have en grundlæggende forståelse for, hvordan du installerer Zio udviklingsplader. I denne vejledning antager vi, at dit udviklingskort allerede er konfigureret og er klar til at blive konfigureret. Hvis du ikke har konfigureret dit board endnu, kan du tjekke vores Zio Qwiic startguide herunder for at komme i gang:

Zio Zuino M UNO Qwiic Startguide

Trin 2: Skemaer

Skemaer
Skemaer

Her er ledningsskemaerne for Robotic Arm Part 2 -projektet samt PS2 -controller -diagrammet, der skal forstås for din kodningsdel.

Trin 3: PS2 -controller -diagram

PS2 -controller diagram
PS2 -controller diagram

Trin 4: Opsætning af Zio -moduler

Nedenfor er forbindelsen mellem vores Zio -moduler, der skal konfigureres med Robotic Arm. Det er ret let at forbinde alle modulerne og vil ikke tage mere end 10 minutter at oprette.

Trin 5: Tilslut Robotic Arm Servo til Zio 16 Servo Controller

Tilslut Robotic Arm Servo til Zio 16 Servo Controller
Tilslut Robotic Arm Servo til Zio 16 Servo Controller

Trin 6: Tilslut din 16 Servo til DC/DC Booster og indstil den til 6,0V

Tilslut din 16 Servo til DC/DC Booster og indstil den til 6,0V
Tilslut din 16 Servo til DC/DC Booster og indstil den til 6,0V

Vi bruger en DC/DC Booster til at øge og justere batteriforsyningsspændingen til 6,0.

Brug potentiometeret på DC Booster til at justere spændingen, indtil du får 6,0. Tryk på knappen In/Out, indtil displayet viser 6.0. Du skal først levere strøm (3,7V batteri) til din DC/DC Booster for at justere spændingen.

Trin 7: Tilslut Zuino M Uno til Zio 16 Servo Controller

Tilslut Zuino M Uno til Zio 16 Servo Controller
Tilslut Zuino M Uno til Zio 16 Servo Controller

Qwiic forbinder Zuino M Uno til Zio Servo -controlleren med qwiic -kabel.

Trin 8: Tilslutning af Uno til PS2 -modtageren

Tilslutning af Uno til PS2 -modtageren
Tilslutning af Uno til PS2 -modtageren

Her er et pin -diagram over forbindelserne. Du skal bruge 5 mandlige til kvindelige jumperwire til denne del.

Trin 9: Kode til robotarm

Vi vil bruge PS2 Arduino -biblioteket til at kode vores PS2 trådløse controller til at arbejde med vores robotarm. Du kan finde og downloade kildekoden til dette Robotic Arm Part 2 -projekt på vores Github -side.

Download og installer følgende biblioteker, og gem det i din lokale Arduino IDE -biblioteksmappe:

  • Adafruit PWM Servo Driver Library
  • PS2 Arduino bibliotek

For at installere bibliotekerne skal du åbne din Arduino IDE, gå til fanen Skitse, vælg Inkluder bibliotek -> Tilføj. Zip -bibliotek. Vælg de ovenstående biblioteker, der skal medtages på din IDE.

Arduino har en praktisk guide til, hvordan du installerer biblioteker til din Arduino IDE. Tjek dem her!

Trin 10: Kør din kode

Kør din kode
Kør din kode

Åbn Arduino IDE. Under Filer> Eksempler> PS2_Arduino_Library skal du vælge PS2X_Servo

Bemærk: Inden du kan styre din robotarm med PS2 -controlleren, skal du kontrollere følgende trin: Tænd din PS2 -controller. Kontroller, at tilstands -LED'en lyser. Hvis det ikke gør det, skal du trykke på knappen Mode på din controller. Efter at have gjort ovenstående skal du trykke på nulstillingsknappen på din Zuino M Uno, for at den kan læse dine controllerindstillinger. Du skal trykke på L1 og joysticket for at flytte din robotarm.

  • Venstre joystick styrer bøjningen af armen opad eller nedad
  • Højre joystick styrer kloen til enten at åbne eller lukke og rotere klo til venstre eller højre.

Trin 11: Forklaring af kode

Brug af PS2X Arduino -biblioteket er enkelt og kræver kun en initialisering, en opsætning og derefter en læsekommando.

For at indstille forbindelsen til din PS2 -controller med din Uno, er nålene nedenfor, du skal definere i din kode:

/************************************************* *****************sæt pins tilsluttet PS2 controller:* - 1e kolonne: original* - 2e colmun: Stef? *udskift pin -numre med dem, du bruger ****************************************** **********************/#definere PS2_DAT 13 // 14 #define PS2_CMD 11 // 15#definere PS2_SEL 10 // 16#definere PS2_CLK 12 // 17

Vi har udskiftet stifterne med dem, som vi bruger til at forbinde til vores Uno som beskrevet på stiftdiagrammet ovenfor.

/************************************************* ***************** vælg tilstande i PS2 -controlleren:* - tryk = analog aflæsning af trykknapper* - rumlen = motorrumlen*udelad 1 af linjerne for hvert valg af mode ** ************************************************* ************///#definere tryk sandt#definere tryk falsk //#definere rumble true#definere rumble falsk

Her definerede vi PS2 -tilstand for tryk og rumlen som falsk. Vi kommenterede dem, vi ikke bruger.

Vi vil kun bruge controllerens joystick -kommando og L1 til at styre bevægelsen af vores robotarm.

void loop () {/* Du skal læse Gamepad for at få nye værdier og indstille vibrationsværdier ps2x.read_gamepad (lille motor til/fra, større motorstyrke fra 0-255), hvis du ikke aktiverer rumlen, skal du bruge ps2x.read_gamepad (); uden værdier Du skal kalde dette mindst en gang i sekundet*/if (fejl == 1) // spring loop, hvis ingen controller fandt retur; ellers {// DualShock Controller ps2x.read_gamepad (falsk, vibrer); // læs controller og indstil stor motor til at dreje med 'vibration' hastighed, hvis (ps2x. Button (PSB_START)) // vil være SAND, så længe der trykkes på knappen Serial.println ("Start holdes"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Select is holded"); vibrere = ps2x. Analog (PSAB_CROSS); // dette vil indstille den store motorens vibrationshastighed baseret på, hvor hårdt du trykker på den blå (X) -knap, hvis (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// print stick -værdier, hvis en af dem 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 herunder er, hvor vi koder vores servoer, der styrer vores robotarm, som vi inkluderer i funktionsopkaldet under ps2x.button (PSB_L1) || ps2x. -knap (PSB_R1).

Du skal trykke på knappen L1 eller R1 sammen med joysticket for at styre din robotarm.

Venstre joystick -kontrol servoer 2 og 3 til armdelen - styrer bøjningen henholdsvis op og ned af armen, mens højre joystick styrer servoer 0 og 1 i robotarmens klo for at åbne eller lukke, og for at dreje til venstre eller højre.

SERVO 0, 1 - klo SERVO 2, 3 - Arm

Du kan foretage ændringer af værdier i dette afsnit for at styre graden af 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);

Anbefalede: