Tabla de contenido:

Brazo robótico con módulos Zio Parte 2:11 pasos
Brazo robótico con módulos Zio Parte 2:11 pasos

Video: Brazo robótico con módulos Zio Parte 2:11 pasos

Video: Brazo robótico con módulos Zio Parte 2:11 pasos
Video: "እባክህ ክብርህን አሳየኝ" የ መጋቤ ሓዲስ በጋሻው ደሳለኝ ቁጥር 18 አዲስ ስብከት 2024, Noviembre
Anonim
Brazo robótico con módulos Zio Parte 2
Brazo robótico con módulos Zio Parte 2

En el tutorial de hoy, utilizaremos los 4 servos y un controlador inalámbrico PS2 para controlar el brazo robótico.

Esta publicación de blog es parte de la serie Zio Robotics.

Introducción

En nuestro blog anterior, publicamos el tutorial de la Parte 1 sobre cómo controlar un brazo robótico usando módulos Zio. La parte 1 se concentró principalmente en controlar automáticamente la garra de su brazo robótico para abrir y cerrar.

En el tutorial de hoy, lo mejoraremos un poco al incluir un controlador inalámbrico PS2 para controlar el brazo robótico. Para este proyecto, utilizaremos 4 servos.

Paso 1: descripción general del proyecto

Nivel de dificultad:

Zio Padawan

Recursos útiles:

Debe tener un conocimiento básico de cómo instalar placas de desarrollo Zio. En este tutorial, asumimos que su placa de desarrollo ya está configurada y lista para ser configurada. Si aún no ha configurado su placa, consulte nuestro tutorial de la Guía de inicio de Zio Qwiic a continuación para comenzar:

Guía de inicio de Zio Zuino M UNO Qwiic

Paso 2: esquemas

Esquemas
Esquemas

Aquí están los esquemas de cableado del proyecto de la parte 2 del brazo robótico, así como el diagrama del controlador PS2 que necesita comprender para su parte de codificación.

Paso 3: Diagrama del controlador PS2

Diagrama del controlador PS2
Diagrama del controlador PS2

Paso 4: Configuración de la conexión de los módulos Zio

A continuación se muestra la conexión de nuestros módulos Zio que se configurarán con el brazo robótico. Conectar todos los módulos juntos es bastante fácil y no tomará más de 10 minutos configurarlo.

Paso 5: Conecte el servo del brazo robótico al servocontrolador Zio 16

Conecte el servo del brazo robótico al servocontrolador Zio 16
Conecte el servo del brazo robótico al servocontrolador Zio 16

Paso 6: Conecte su Servo 16 a DC / DC Booster y configúrelo en 6.0V

Conecte su 16 Servo a DC / DC Booster y configúrelo en 6.0V
Conecte su 16 Servo a DC / DC Booster y configúrelo en 6.0V

Usamos un amplificador DC / DC para aumentar y ajustar el voltaje de suministro de la batería a 6.0.

Utilice el potenciómetro del amplificador de CC para ajustar el voltaje hasta que obtenga 6.0. Presione el botón In / Out hasta que la pantalla muestre 6.0. Primero debe suministrar energía (batería de 3,7 V) a su amplificador DC / DC para ajustar el voltaje.

Paso 7: Conecte Zuino M Uno al Servocontrolador Zio 16

Conecte el Zuino M Uno al servocontrolador Zio 16
Conecte el Zuino M Uno al servocontrolador Zio 16

Qwiic conecta el Zuino M Uno al controlador Zio Servo con un cable qwiic.

Paso 8: Conexión de Uno al receptor PS2

Conexión de Uno al receptor PS2
Conexión de Uno al receptor PS2

Aquí hay un diagrama de pines de las conexiones. Necesita 5 cables de puente macho a hembra para esta pieza.

Paso 9: Código para brazo robótico

Usaremos la biblioteca Arduino de PS2 para codificar nuestro controlador inalámbrico PS2 para que funcione con nuestro brazo robótico. Puede encontrar y descargar el código fuente de este proyecto de Robotic Arm Part 2 en nuestra página de Github.

Descargue e instale las siguientes bibliotecas y guárdelas en su carpeta de bibliotecas IDE de Arduino local:

  • Biblioteca de servocontroladores Adafruit PWM
  • Biblioteca de PS2 Arduino

Para instalar las bibliotecas, abra su IDE de Arduino, vaya a la pestaña Sketch, seleccione Incluir biblioteca -> Agregar biblioteca zip. Seleccione las bibliotecas anteriores para incluirlas en su IDE.

Arduino tiene una guía útil sobre cómo instalar bibliotecas en su IDE de Arduino. ¡Échales un vistazo aquí!

Paso 10: Ejecute su código

Ejecute su código
Ejecute su código

Abra Arduino IDE. En Archivos> Ejemplos> PS2_Arduino_Library, seleccione PS2X_Servo

Nota: Antes de poder controlar su brazo robótico con el controlador PS2, compruebe los siguientes pasos: Encienda su controlador PS2. Compruebe que se enciende el LED de modo. Si no es así, presiona el botón Modo en tu controlador. Después de hacer lo anterior, debe presionar el botón de reinicio en su Zuino M Uno para que lea la configuración de su controlador. Debe presionar L1 y el joystick para mover su brazo robótico.

  • El joystick izquierdo controla la flexión del brazo hacia arriba o hacia abajo
  • El joystick derecho controla la garra para abrir o cerrar y girar la garra hacia la izquierda o hacia la derecha.

Paso 11: Explicación del código

El uso de la biblioteca Arduino de PS2X es simple, solo requiere una inicialización, una configuración y luego un comando de lectura.

Para configurar la conexión de su controlador PS2 con su Uno, a continuación se muestran los pines que necesita definir en su código:

/ ********************************************** *************** * establecer pines conectados al controlador PS2: * - 1e columna: original * - 2e colmun: Stef? * reemplace los números de pin por los que usa ************************************** ********************** / # define PS2_DAT 13 // 14 #define PS2_CMD 11 // 15 # define PS2_SEL 10 // 16 # define PS2_CLK 12 // 17

Hemos reemplazado los pines con los que usamos para conectarnos a nuestro Uno como se describe en el diagrama de pines anterior.

/ ********************************************** **************** seleccionar modos del controlador PS2: * - presiones = lectura analógica de botones pulsadores * - retumbar = retumbar del motor * descomentar 1 de las líneas para cada selección de modo ** *********************************************** ************ / // # definir presiones verdadero # definir presiones falso // # definir rumble verdadero # definir rumble falso

Aquí definimos el modo PS2 para presiones y ruidos como falso. Comentamos los que no usamos.

Solo usaremos el comando del joystick del controlador y L1 para controlar el movimiento de nuestro brazo robótico.

void loop () {/ * Debes leer Gamepad para obtener nuevos valores y establecer los valores de vibración ps2x.read_gamepad (motor pequeño encendido / apagado, fuerza del motor más grande de 0-255) si no habilitas el ruido, usa ps2x.read_gamepad (); sin valores Debe llamar a esto al menos una vez por segundo * / if (error == 1) // saltar el bucle si no se encuentra el controlador return; else {// Controlador DualShock ps2x.read_gamepad (falso, vibrar); // leer el controlador y configurar el motor grande para que gire a la velocidad de 'vibración' si (ps2x. Button (PSB_START)) // será VERDADERO mientras se presione el botón Serial.println ("Se mantiene el inicio"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Se mantiene la selección"); vibrar = ps2x. Analog (PSAB_CROSS); // esto establecerá la velocidad de vibración del motor grande en función de la fuerza con la que presione el botón azul (X) if (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// imprime los valores del stick si alguno es 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 ("Valores de palo:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);

El siguiente código es donde codificamos nuestros servos que controlan nuestro brazo robótico que incluimos en la llamada de función bajo ps2x.button (PSB_L1) || botón ps2x. (PSB_R1).

Debe presionar el botón L1 o R1 junto con el joystick para controlar su brazo robótico.

El joystick izquierdo controla los servos 2 y 3 para la parte del brazo: controlan la flexión hacia arriba y hacia abajo del brazo respectivamente, mientras que el joystick derecho controla los servos 0 y 1 de la garra del brazo robótico para abrir o cerrar, y para girar hacia la izquierda o hacia la derecha.

SERVO 0, 1 - Garra SERVO 2, 3 - Brazo

Puede realizar cambios en los valores en esta sección para controlar el grado del ángulo de su brazo robótico:

pulselen0 = mapa (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = mapa (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = mapa (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = mapa (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

Recomendado: