domingo, 31 de enero de 2016

Arduino: Driver L298N y Bluetooth HC-06


Buenas a todos!!!
Ya iba siendo hora de poner algo de comunicación serial, y aunque parezca ya un poco avanzado, es muy sencillo utilizar el bluetooth HC-06 en Arduino.
Con este emisor/receptor he construido este sencillo Rover que fácilmente se podrá controlar desde cualquier terminal Android con Bluetooth.



El módulo HC-06: 
El HC-06 es un dispositivo de comunicación inalambrica operando en la frecuencia de 2,4GHz.
Se conecta a en los pines TX y RX sus datos los envía y recibe con un protocolo serial de nivel lógico TTL.
Por defecto, viene con un usuario y un password por defecto que normalmente sera User: HC-06 y contraseña 1234. y el seteo de la velocidad de transmisión a 9600,8,N,1.
Para una mayor comodidad usare la librería SoftwareSerial. h para asignarle la entrada de datos a los puertos 2 y 3 y así no tener problemas a la hora de cargar el archivo por USB





El modulo L298N:
Es un driver de potencia basado en el chip L298N que permite controlar 2 motores de corriente
continua o un motor por pasos bipolar de hasta 2A.
Cuenta con diodos de protección y un regulador de 5V que suministra energía a la parte lógica, jumpers de selección para habilitar las salidas A y B de los motores. La salida A serigrafiada como OUT1 y OUT2 y la salida B con OUT3 y OUT4.
La parte de control del módulo están marcados como IN1, IN2, IN3, IN4.
ENA y ENB deberán estar conectados a +5V mediante el jumper o a una salida PWM de Arduino.

Y, por supuesto, nuestra placa Arduino. Para este proyecto he utilizado un Arduino Nano.
Otro complemento es un pequeño altavoz que nos hará de claxon.
Las conexiones quedarían así:



Este sería el esquema general, todo esto es lo que hay dentro de nuestro rover. Para la base del rover encontré en ebay unas orugas ya montadas de algún juguete por unos 10€, pero también venden los kits para motar como los de Tamiya.
En total el coste de los materiales no tendría que superar los 20€ más o menos.



Software para Android:
Bueno ya tenemos las conexiones para nuestro rover controlado por bluetooth, ahora le toca el paso a nuestro software para poder controlarlo desde cualquier dispositivo móvil o tablet que disponga de bluetooth.
Para estas pruebas me he descargado de google play el "Bluetooth RC Controller" que es bastante sencillo de configurar y usar.
Solo hay que emparejar el bluetooth y listo.



Fotos del montaje:







           








Ver código en GitHub Arduino Bluetooth Rover HC-06




17 comentarios :

  1. Disculpa, necesito conectar un servomotor en la aplicación, ¿Como debería introducir el código sin que me afecte a los motores? Lo he intentado pero no he tenido éxito.
    Gracias de antemano.

    ResponderEliminar
    Respuestas
    1. Buenas, pues aun no he tenido que hacer nada parecido, si que lo hice con PIC pero no tiene nada que ver. Lo pongo en mi lista de tareas pendientes, ya que a mi también me interesa saber como se hace ya que le pondré una cámara y le quiero poner un servo para moverla de arriba a bajo.
      Creo y hablo un poco de memoria, que todo esta en la trama de datos que se envía, ya que en una aplicación que hice hace poco para temas de temperatura y control de clima y no tiene que ser muy diferente. Dame unos días que lo pueda mirar con más calma.
      Saludos!!!

      Eliminar
  2. hey brother tendrias el app para moverlo pero con solo 2 motores?
    podrias pasarme el app y la configuracion para los 2 motores

    ResponderEliminar
  3. segui el mismo tutorial de aca y no me sirve no arranca

    ResponderEliminar
  4. Hola, perdona pero tengo problemas, e seguido todos tus pasos la instalación y programación son los mismos pero no me gira ningún motor, sabes que puedo estar haciendo mal?
    gracias

    ResponderEliminar
  5. me podrías regalar el archivo en fritzing

    ResponderEliminar
  6. Hola, estoy siguiendo tus conexiones pero no me saca nada por las salidas out1 y out2, ¿a que se puede deber?

    ResponderEliminar
  7. Buenas a todos, después de un tiempo me he tenido que ausentar del blog por motivos laborales.
    Dada la cantidad de problemas que me he encontrado con este post me he he decidido a a revisarlo entero.
    Después de descargar el programa instalarlo en el Arduino directamente de la web, e instalar el Bluetooth RC Controller ha funcionado a la primera.

    Si estáis usando el mismo Driver L298N tened en cuenta que es un modulo que no trabaja muy bien con poco voltaje, así que si usáis motores de 3V costara conseguir que arranque si no se sube el PWM a un mínimo de 80.
    Disculpad por haber tenido esto un poco abandonado y saludos!!

    ResponderEliminar
  8. Respuestas
    1. Buenas Dani, el código esta al final de la entrada, pero aquí te dejo un enlace: http://descargas.infotronikblog.com/files/Arduino/Arduino_Rover_Bluetooth_V1.rar

      Eliminar
  9. Отличный проект! А можно добавить подключение фар?

    ResponderEliminar
    Respuestas
    1. Of course you can, any lamp or motor or sensor with its corresponding driver, Regards!

      Eliminar
  10. Я имел в виду, добавить пару светодиодов и прописать их включение в скетче. Спасибо.

    ResponderEliminar
  11. I meant to add a couple of LEDs and put them in the sketch for inclusion. Thanks.

    ResponderEliminar
  12. Помогите пожалуйста добавить пару светодиодов и прописать их включение в скетче. Спасибо.

    ResponderEliminar