Archivo de la etiqueta: robot

Robot evita obstáculos 2WD

Un robot evita obstáculos es un tipo de robot autónomo que automáticamente detecta obstáculos delante de él y los intenta esquivar. El robot se mueve continuamente girando al detectar un obstáculo e intentando elegir el mejor camino para evitar nuevos obstáculos.

Las aspiradoras domésticas son un claro ejemplo de robots evita osbtáculos…

Para la detección de obstáculos utilizamos el sensor HC-SR04 utilizado en otros proyectos:

Este sensor es direccional, por lo que se montará sobre un servo de forma que podemos girar para “mirar” hacia los lados y  poder así medir la distancia a la que se encuentran los obstáculos a cada lado para elegir el mejor camino.

Por otro lado el control de los motores de cada una de las dos ruedas se realizará con un módulo que implementa un “Puente en H” para suministrar la suficiente corriente a los motores y poder controlar la dirección y velocidad de giro.

Hemos probado con dos montajes diferentes:

  • El kit “Turtle Robot” del fabricante keyestudio:

  • Kit genérico con carcasa para coche 2wd:

El esquema de conexiones sería el mismo en ambos casos:

El programa de control:

Movimientos, servo, medición… :

Proyecto compartido:

http://www.arduinoblocks.com/web/project/7446

Video en funcionamiento:

 

+Info y novedades

https://www.facebook.com/arduinoblocks

https://es.linkedin.com/in/arduinoblocks-programaci%C3%B3n-visual-5169a9133

https://twitter.com/arduinoblocks?lang=es

https://www.amazon.com/ArduinoBlocks-Programaci%C3%B3n-bloques-Arduino-Spanish/dp/1535513284/ref=sr_1_1?ie=UTF8&qid=1508320071&sr=8-1&keywords=arduinoblocks

http://www.arduinoblocks.com/shop/libros/5-libro-arduinoblocks.html

 

Compartir

Coche con servos controlado por Bluetooth

Vamos a realizar un pequeño vehículo que utiliza dos servos de rotación continua para el movimiento y un módulo Bluetooth HC06 para comunicarse con una aplicación móvil y ser controlado.

Material necesario:

  • Plataforma metálica
  • 2 x Servo rotación continua
  • 1 x Arduino UNO
  • 1 x Arduino Sensor Shield
  • 1 x Modulo Bluetooth HC06
  • 1 x Batería de 9v 1000mAh

Esquema de conexión

Se ha utilizado una “sensor shield” para simplificar el cableado:

El montaje se va a realizar sobre una plataforma lista para acoplar los dos servos de rotacion continua con ruedas y una rueda loca delante:Los servos están montados de forma invertida, por lo que para que el robot avance debemos hacerlos girar en sentidos inversos para que las ruedas giren en la misma dirección:

Utilizaremos esta aplicación gratuita para dispositivos Android para controlar el coche:

https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller

La aplicación envía un comando en forma de letra para indicar cada acción, en ArduinoBlocks la forma más sencilla es leer un byte (equivalente a una letra) y comprobar su valor numérico que será el correspondiente al valor ASCII de cada letra:

Comandos usados:
Avanzar -> ‘F’ (ASCII: 70)
Retroceder -> ‘B’ (ASCII: 66)
Izquierda -> ‘L’ (ASCII: 76)
Derecha -> ‘R’ (ASCII: 82)
Avanzar derecha -> ‘G’ (ASCII: 71)
Avanzar izquierda -> ‘I’ (ASCII: 73)
Parar -> ‘S’ (ASCII: 83)
Control de los servos

El control de los servos de rotación continua funciona de la siguiente manera:

90º -> el motor está parado

-> el motor gira en un sentido a máxima velocidad

180º -> el motor gira en sentido contrario a máxima velocidad

Indicando valores cercanos a 90 podemos hacer que gire más lento en un sentido u otro:

80º -> el motor gira en un sentido a velocidad lenta

100º -> el motor gira en el sentido contrario a velocidad lenta

Por tanto para avanzar programamos los servos así:

Para retroceder hacemos justo lo contrario:

Para girar a la derecha o izquierda hacemos que las ruedas giren en sentidos contrarios y así el robot prácticamente pivota sobre sí mismo:

Y podemos hacer que avance y gire a la vez haciendo las combinaciones de movimientos:

En el bucle principal comprobaremos el comando que hemos recibido por Bluetooth y ejecutaremos la  función correspondiente a cada movimiento:

¡el programa completo queda así de sencillo!

Video del funcionamiento:

Programa + información + descargas:

http://www.arduinoblocks.com/web/project/5284

Enlaces donde conseguir algunos componentes:
Electan:
Microlog:
Feetech:
 www.arduinoblocks.com
Compartir