Sommario:

Braccio robotico con moduli Zio Parte 2: 11 passaggi
Braccio robotico con moduli Zio Parte 2: 11 passaggi

Video: Braccio robotico con moduli Zio Parte 2: 11 passaggi

Video: Braccio robotico con moduli Zio Parte 2: 11 passaggi
Video: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, Luglio
Anonim
Braccio robotico con moduli Zio Parte 2
Braccio robotico con moduli Zio Parte 2

Nel tutorial di oggi, utilizzeremo tutti e 4 i servi e un controller wireless PS2 per controllare il braccio robotico.

Questo post sul blog fa parte della serie Zio Robotics.

introduzione

Nel nostro blog precedente, abbiamo pubblicato il tutorial della Parte 1 su come controllare un braccio robotico utilizzando i moduli Zio. La parte 1 si è concentrata principalmente sul controllo automatico dell'artiglio del braccio robotico per aprirsi e chiudersi.

Nel tutorial di oggi, lo noteremo un po' includendo un controller wireless PS2 per controllare il braccio robotico. Per questo progetto utilizzeremo 4 servi.

Passaggio 1: panoramica del progetto

Livello di difficoltà:

Zio Padawan

Risorse utili:

Dovresti avere una conoscenza di base di come installare le schede di sviluppo Zio. In questo tutorial, assumiamo che la tua scheda di sviluppo sia già configurata e pronta per essere configurata. Se non hai ancora configurato la tua scheda, dai un'occhiata al nostro tutorial Zio Qwiic Start Guide qui sotto per iniziare:

Zio Zuino M UNO Qwiic Start Guide

Fase 2: Schemi

Schematico
Schematico

Ecco gli schemi di cablaggio del progetto Robotic Arm Part 2 e lo schema del controller PS2 necessario per comprendere la parte di codifica.

Passaggio 3: diagramma del controller PS2

Schema del controller PS2
Schema del controller PS2

Passaggio 4: configurazione della connessione dei moduli Zio

Di seguito è riportato il collegamento dei nostri moduli Zio da configurare con il braccio robotico. Il collegamento di tutti i moduli è piuttosto semplice e non richiederà più di 10 minuti per l'installazione.

Passaggio 5: collegare il servo del braccio robotico al servo controller Zio 16

Collega il servo del braccio robotico al servo controller Zio 16
Collega il servo del braccio robotico al servo controller Zio 16

Passaggio 6: collega il tuo servo 16 al booster CC / CC e impostalo a 6,0 V

Collega il tuo 16 Servo a DC/DC Booster e impostalo a 6.0V
Collega il tuo 16 Servo a DC/DC Booster e impostalo a 6.0V

Usiamo un DC/DC Booster per aumentare e regolare la tensione di alimentazione della batteria a 6.0.

Usa il potenziometro sul DC Booster per regolare la tensione fino ad ottenere 6.0. Premere il pulsante In/Out finché il display non mostra 6.0. È necessario fornire prima l'alimentazione (batteria da 3,7 V) al Booster CC/CC per regolare la tensione.

Passaggio 7: collegare Zuino M Uno al servocontrollore Zio 16

Collega Zuino M Uno al Servo Controller Zio 16
Collega Zuino M Uno al Servo Controller Zio 16

Qwiic collega Zuino M Uno al controller Zio Servo con il cavo qwiic.

Passaggio 8: collegamento di Uno al ricevitore PS2

Collegamento di Uno al ricevitore PS2
Collegamento di Uno al ricevitore PS2

Ecco un diagramma dei pin delle connessioni. Hai bisogno di 5 cavi jumper maschio-femmina per questa parte.

Passaggio 9: codice per braccio robotico

Useremo la libreria Arduino PS2 per codificare il nostro controller wireless PS2 in modo che funzioni con il nostro braccio robotico. Puoi trovare e scaricare il codice sorgente per questo progetto Robotic Arm Part 2 sulla nostra pagina Github.

Scarica e installa le seguenti librerie e salvale nella cartella delle librerie IDE di Arduino locale:

  • Libreria di servo driver Adafruit PWM
  • Libreria Arduino PS2

Per installare le librerie, apri il tuo IDE Arduino, vai alla scheda Schizzo, seleziona Includi libreria -> Aggiungi. Zip Library. Seleziona le librerie di cui sopra da includere nel tuo IDE.

Arduino ha una pratica guida su come installare le librerie sul tuo IDE Arduino. Dai un'occhiata qui!

Passaggio 10: esegui il codice

Esegui il tuo codice
Esegui il tuo codice

Apri Arduino IDE. In File > Esempi > PS2_Arduino_Library, seleziona PS2X_Servo

Nota: prima di poter controllare il tuo braccio robotico con il controller PS2, controlla i seguenti passaggi: Accendi il controller PS2. Verificare che il LED di modalità si accenda. In caso contrario, premi il pulsante Modalità sul controller. Dopo aver fatto quanto sopra, devi premere il pulsante di ripristino sul tuo Zuino M Uno per leggere le impostazioni del controller. Devi premere L1 e il joystick per muovere il tuo braccio robotico.

  • Il Joystick sinistro controlla la flessione del braccio verso l'alto o verso il basso
  • Il joystick destro controlla l'artiglio per aprire o chiudere e ruotare l'artiglio a sinistra oa destra.

Passaggio 11: spiegazione del codice

L'uso della libreria Arduino PS2X è semplice, richiede solo un'inizializzazione, una configurazione e quindi un comando di lettura.

Per impostare la connessione per il tuo controller PS2 con il tuo Uno, di seguito sono riportati i pin che devi definire nel codice:

/************************************************** *************** * set pin collegati al controller PS2: * - colonna 1e: originale * - colonna 2e: Stef? * sostituire i numeri dei pin con quelli che usi ************************************** ***********************/#define PS2_DAT 13 //14 #define PS2_CMD 11 //15#define PS2_SEL 10 //16#define PS2_CLK 12 // 17

Abbiamo sostituito i pin con quelli che usiamo per connetterci al nostro Uno come indicato nel diagramma dei pin sopra.

/************************************************** *************** seleziona le modalità del controller PS2: * - pressioni = lettura analogica dei pulsanti * - rombo = rombo motore * decommenta 1 delle righe per ogni selezione modalità** ************************************************** ************/ //#define pressures true#define pressures false //#define rumble true#define rumble false

Qui abbiamo definito falsa la modalità PS2 per pressioni e rimbombi. Abbiamo commentato quelli che non usiamo.

Useremo solo il comando Joystick del controller e L1 per controllare il movimento del nostro braccio robotico.

void loop() {/* Devi leggere Gamepad per ottenere nuovi valori e impostare i valori di vibrazione (); senza valori Dovresti chiamarlo almeno una volta al secondo*/ if(error == 1) //salta il ciclo se non viene trovato alcun controller return; else { //Controller DualShock ps2x.read_gamepad(false, vibrate); //legge il controller e imposta il motore grande in modo che ruoti alla velocità di 'vibrazione' if(ps2x. Button(PSB_START))//sarà TRUE finché il pulsante sarà premuto Serial.println("Avvio in attesa"); if(ps2x. Button(PSB_SELECT)) Serial.println("Seleziona in attesa"); vibra = ps2x. Analog(PSAB_CROSS); //questo imposterà la velocità di vibrazione del motore grande in base alla forza con cui premi il pulsante blu (X) if(ps2x. Button(PSB_L1) || ps2x. Button(PSB_R1)) { //stampa i valori dello stick se uno dei due è TRUE RY_Value =ps2x. Analogico(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);

Il codice qui sotto è dove codifichiamo i nostri servi che controllano il nostro braccio robotico che includiamo nella chiamata di funzione sotto ps2x.button(PSB_L1)|| ps2x.button (PSB_R1).

È necessario premere il pulsante L1 o R1 insieme al Joystick per controllare il braccio robotico.

Il joystick sinistro controlla i servi 2 e 3 per la parte del braccio - controllano rispettivamente la flessione su e giù del braccio, mentre il joystick destro controlla i servi 0 e 1 dell'artiglio del braccio robotico per aprire o chiudere e per ruotare a sinistra o a destra.

SERVO 0, 1 - Artiglio SERVO 2, 3 - Braccio

È possibile apportare modifiche ai valori in questa sezione per controllare il grado dell'angolo del braccio robotico:

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);

Consigliato: