Tabla de contenido:

Agarre automático mediante un sensor láser y comandos de voz: 5 pasos (con imágenes)
Agarre automático mediante un sensor láser y comandos de voz: 5 pasos (con imágenes)

Video: Agarre automático mediante un sensor láser y comandos de voz: 5 pasos (con imágenes)

Video: Agarre automático mediante un sensor láser y comandos de voz: 5 pasos (con imágenes)
Video: Controla tu móvil SIN TOCARLO - SÓLO CON LA VOZ! 2024, Mes de julio
Anonim
Image
Image
La lista de piezas
La lista de piezas

Agarrar objetos que nos parecen simples y naturales es de hecho una tarea compleja. El hombre usa el sentido de la vista para determinar la distancia del objeto que quiere agarrar. La mano se abre automáticamente cuando está muy cerca del objeto que se está agarrando y luego se cierra rápidamente para agarrar bien el objeto. He usado esta técnica de una manera simplificada en este mini proyecto, pero en lugar de la cámara usé un sensor láser para estimar la distancia del objeto desde la pinza y comandos de voz para el control.

Paso 1: la lista de piezas

La lista de piezas
La lista de piezas

En este pequeño proyecto, solo necesitará algunas de las piezas que se enumeran a continuación. Como controlador usé Arduino mega 2560 pero también puedes usar UNO o cualquier otro Arduino. Como sensor de distancia utilicé un sensor láser VL53L0X que tiene una buena precisión (unos pocos milímetros) y un alcance de hasta 2 metros. En este proyecto, puede usarlo para probar cualquier pinza y servo, pero debe alimentarlo desde una fuente de alimentación separada, por ejemplo: una fuente de alimentación de 5 V o una batería LiPo (7,4 V o 11,1 V) a través de un convertidor reductor que reduce el voltaje a 5V.

Piezas necesarias en este proyecto:

  • Sensor láser ToF VL53L0X x1
  • Servo digital x1
  • Arduino mega 2560 x1
  • Pinza de metal robot x1
  • Placa de pruebas x1
  • Botón táctil x1
  • Bluetooth HC-06
  • Resistencia 10k x1
  • Fuente de alimentación 5V / 2A

Versión extendida:

  1. Módulo de sensor de monitorización de corriente CJMCU-219 x1
  2. Placa de desarrollo de controlador LED WS2812 RGB x1

Paso 2: Conexión de piezas electrónicas

Conexión de piezas electrónicas
Conexión de piezas electrónicas
Conexión de piezas electrónicas
Conexión de piezas electrónicas
Conexión de piezas electrónicas
Conexión de piezas electrónicas

La primera figura muestra todas las conexiones necesarias. En las siguientes fotos puede ver los siguientes pasos para conectar módulos individuales. Al principio, el pulsador se conectó al pin 2 de Arduino, luego al servo al pin 3 y finalmente al sensor de distancia láser VL53L0X a través del bus I2C (SDA, SCL).

Las conexiones de los módulos electrónicos son las siguientes:

Sensor láser VL53L0X -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5 V
  • GND - GND

Servo -> Arduino Mega 2560

Señal (cable naranja) - 3

Servo -> Fuente de alimentación 5V / 2A

  • GND (cable marrón) - GND
  • VCC (cable rojo) - 5 V

Botón pulsador -> Arduino Mega 2560

  • Pin 1 - 3.3 o 5V
  • Pin 2 - 2 (y a través de la resistencia de 10k a tierra)

Bluetooth (HC-06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5 V
  • GND - GND

Paso 3: Arduino Mega Code

Código Arduino Mega
Código Arduino Mega

He preparado los siguientes programas de muestra de Arduino disponibles en mi GitHub:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

El primer programa llamado "VL53L0X_gripper_control" realiza la tarea de agarre automático de un objeto que ha sido detectado por el sensor láser VL53L0X. Antes de compilar y cargar el programa de muestra, asegúrese de haber elegido "Arduino Mega 2560" como la plataforma de destino como se muestra arriba (Arduino IDE -> Herramientas -> Placa -> Arduino Mega o Mega 2560). El programa Arduino comprueba en el bucle principal - "bucle vacío ()" si ha llegado la nueva lectura del sensor láser (función readRangeContinuousMillimeters ()). Si la distancia leída desde el sensor "distancia_mm" es mayor que el valor "THRESHOLD_CLOSING_DISTANCE_FAR" o menor que "THRESHOLD_CLOSING_DISTANCE_NEAR" entonces el servo comienza a cerrarse. En otros casos, comienza a abrirse. En la siguiente parte del programa, en la función "digitalRead (gripperOpenButtonPin)", el estado del pulsador se controla constantemente y si se presiona, la pinza se abrirá a pesar de estar cerrada debido a la proximidad del objeto. (la distancia_ mm es menor que THRESHOLD_CLOSING_DISTANCE_NEAR).

El segundo programa "Voice_VL53L0X_gripper_control" le permite controlar la pinza mediante comandos de voz. Los comandos de voz son procesados por la aplicación BT Voice Control para Arduino de Google Play y luego enviados a través de bluetooth a Arduino. El programa Arduino comprueba en el bucle principal - "void loop ()" si el nuevo comando (carácter) se ha enviado desde la aplicación de Android a través de bluetooth. Si hay algún carácter entrante de la serie bluetooth, el programa lee los datos serie hasta que encuentra el final de la instrucción de voz "#". Luego comienza la ejecución de la función "void processInput ()" y, dependiendo del comando de voz, se llama a una función de control específica.

Paso 4: Prueba de agarre automático

Prueba de agarre automático
Prueba de agarre automático
Prueba de agarre automático
Prueba de agarre automático

El video del "Paso 1" muestra las pruebas del robot de agarre basadas en el programa de la sección anterior "Arduino Mega Code". Este video muestra cómo se abre automáticamente cuando el objeto está cerca y luego agarra este objeto si está al alcance de la pinza. La retroalimentación del sensor de distancia láser que se usa aquí es claramente visible en la parte posterior del video cuando muevo la botella hacia adelante y hacia atrás, lo que provoca una reacción rápida y un cambio en el control de la pinza.

Paso 5: Agarre automático activado por voz

Image
Image
Desafío Epílogo 9
Desafío Epílogo 9

En el siguiente paso en el desarrollo de este proyecto, le agregué control por voz. Gracias al comando de voz, puedo controlar el cierre, la apertura y la velocidad de la pinza. El control por voz en este caso es muy útil al abrir la pinza que sostiene el objeto. Reemplaza el botón y permite un fácil control de la pinza colocada en el robot móvil.

Si te gusta este proyecto no olvides votar y escribir en el comentario qué te gustaría ver en el próximo post como una mejora adicional de este proyecto:) Mira mis otros proyectos relacionados con la robótica, solo visita:

  • YouTube
  • Mi sitio web

Recomendado: