Saltar al contenido
Open Lamborghino

Artículo · 15 de julio de 2017

Open Lamborghino RC

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 RC

Por otro lado, a Open Lamborghino le debemos cargar este sencillo programa:

Arduino · 154 líneas
#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);
}