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