Hemos estado jugando unos días con nuestro último trabajo «Open Lamborghino», y aprovechamos de utilizar el módulo bluetooth, para transformar a nuestro robot en un Auto radiocontrolado (RC).
Todo está hecho de manera muy sencilla, gracias a las librerías que hemos creado para Open Lamborghino.
Todo lo que debemos hacer es descargar la aplicación para Android «Bluetooth RC Controler», en Play Store.
Acá les dejo el link. play.google.com
Deben emparejar su dispositivo con e módulo bluetooth hc-05 o hc-06. (obviamente con el bluetooth conectado a Open Lamborghino). Finalmente, deben conectarse a través de la aplicación, con open Lamborghino.
Ver video: Open Lamborghino RCPor otro lado, a Open Lamborghino le debemos cargar este sencillo programa:
#include <OpenTB6612FNG.h>
char command;
const int FrontLed = 6;
#define BOTON 12
#define BUZZER 10
int vel = 30;
OpenTB6612FNG OpenTB6612FNG(0);
void setup()
{
Serial.begin(9600); //Set the baud rate to your Bluetooth module.
}
void loop() {
if (Serial.available() > 0) {
command = Serial.read();
Stop();
switch (command) {
case 'F':
forward();
break;
case 'B':
back();
break;
case 'L':
left();
break;
case 'R':
right();
break;
case 'G':
fl();
break;
case 'I':
fr();
break;
case 'H':
bl();
break;
case 'J':
br();
break;
case 'W': //Front ligth On
bocina();
break;
case 'w': // Front ligth Off
bocina();
break;
case 'U': // back ligth On
bocina();
break;
case '1':
vel = 20;
break;
case '2':
vel = 30;
break;
case '3':
vel = 40;
break;
case '4':
vel = 50;
break;
case '5':
vel = 60;
break;
case '6':
vel = 70;
break;
case '7':
vel = 80;
break;
case '8':
vel = 90;
break;
case '9':
vel = 100;
break;
case 'q':
vel = 120;
break;
}
}
}
void fl()
{
OpenTB6612FNG.Motores(int((0.5)*vel), vel);
}
void fr()
{
OpenTB6612FNG.Motores(vel, int((0.5)*vel));
}
void bl()
{
OpenTB6612FNG.Motores(-int((0.5)*vel), -vel);
}
void br()
{
OpenTB6612FNG.Motores(-vel, -int((0.5)*vel));
}
void forward()
{
OpenTB6612FNG.Motores(vel, vel);
}
void back()
{
OpenTB6612FNG.Motores(-vel, -vel);
}
void left()
{
OpenTB6612FNG.Motores(-vel, vel);
}
void right()
{
OpenTB6612FNG.Motores(vel, -vel);
}
void Stop()
{
OpenTB6612FNG.Motores(0, 0);
}
void bocina()
{
tone(BUZZER, 2000, 100);
}