Robot Bluetooth

Compartimos un ejemplo de un código para utilizar en un robot controlado por Bluetooth con la aplicación RC Car

https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller&hl=es_AR&gl=US

#include <SoftwareSerial.h>

SoftwareSerial Bt(9,8);
/* Creamos un objeto llamado BT donde 
/* Creamos un objeto llamado BT donde 
el pin Rx del modulo lo conectamos al pin 9 y el TX al pin 8
       ------------
       |          |
       |  HC 06   |
       |          |
       |          |
       ------------
        |  |  |  |  
        RX TX G  5v
        9  8

*/
#define MotorDerechaAvanza 4
#define MotorDerechaRetrocede 3
#define MotorIzquierdaAvanza 7
#define MotorIzquierdaRetrocede 6
char accion;
void setup() {
  pinMode(MotorDerechaAvanza,OUTPUT);
  pinMode(MotorDerechaRetrocede,OUTPUT);
  pinMode(MotorIzquierdaAvanza,OUTPUT);
  pinMode(MotorIzquierdaRetrocede,OUTPUT);  
  Serial.begin(9600); //velocidad de comunicacion entre pc y arduino
  Bt.begin(9600); // velocidad de comunicacion entre arduino y BT
}

void loop() {
  
if(Bt.available()){
  accion=Bt.read(); 
  Serial.write(accion);
  }

if(accion=='F') //orden de avan
  {
    digitalWrite(MotorDerechaAvanza,HIGH);
    digitalWrite(MotorDerechaRetrocede,LOW);
    digitalWrite(MotorIzquierdaAvanza,HIGH);
    digitalWrite(MotorIzquierdaRetrocede,LOW);
  }
if(accion=='B') //orden de Ret
  {
    digitalWrite(MotorDerechaAvanza,LOW);
    digitalWrite(MotorDerechaRetrocede,HIGH);
    digitalWrite(MotorIzquierdaAvanza,LOW);
    digitalWrite(MotorIzquierdaRetrocede,HIGH);
  }
if(accion=='S') //orden de Frenar
  {
    digitalWrite(MotorDerechaAvanza,LOW);
    digitalWrite(MotorDerechaRetrocede,LOW);
    digitalWrite(MotorIzquierdaAvanza,LOW);
    digitalWrite(MotorIzquierdaRetrocede,LOW);
  }
if(accion=='R') //orden de Derecha
  {
    digitalWrite(MotorDerechaAvanza,LOW);
    digitalWrite(MotorDerechaRetrocede,HIGH);
    digitalWrite(MotorIzquierdaAvanza,HIGH);
    digitalWrite(MotorIzquierdaRetrocede,LOW);
  }
if(accion=='L') //orden de Izq
  {
    digitalWrite(MotorDerechaAvanza,HIGH);
    digitalWrite(MotorDerechaRetrocede,LOW);
    digitalWrite(MotorIzquierdaAvanza,LOW);
    digitalWrite(MotorIzquierdaRetrocede,HIGH);
  }
}