Introduction: Arduino RC Car Bluetooth Con Motor Shield

Para poder crearlo necesitamos:

-Arduino Uno

-Arduino motor shield

-Modulo bluetooth hc-06

-Bateria

________________

Opcionales

-Led

-Zumbador

Step 1: Cambiar La Placa Del Coche Por El Arduino

Hay que eliminar la placa dejando solo los cables de motores. Asi se podran controlar mejor que soldando a los chips, ya que podras controlar los PWM.

Se conectaran los cables de los motores a el arduino motor shield como se indica en la foto.

Step 2: Conectar Bluetooth Y Demás Componentes

Conectar el bluetooth al arduino conectando el RX al TX, el TX al RX, VCC a 5V y GND a GND

En mi caso tambien añadi un zumbador conectado al pin 6 y GND y un led conectado a 5V y a GND

Step 3: Cargar El Codigo a La Placa Arduino

Juntar todo el codigo en la aplicacion de arduino. Adjunto tambien el sketch


int acelerar = 12;     // Pin 12 - Acelerar 1
int girar = 13; // Pin 5 - Girar1 int desa = 9; // Pin 9 - Girar 2 int desb = 8; // Pin 8 - Acelerar 2 int zumbador = 6; // Pin 6 - Zumbador
char val;
void setup() {
  
    pinMode(acelerar, OUTPUT);
    pinMode(girar, OUTPUT);
    pinMode(desa, OUTPUT);
    pinMode(desb, OUTPUT);
    
    Serial.begin(9600);
    
}
//turbo
void go_turbo() {
  digitalWrite(acelerar, HIGH);
  digitalWrite(desa, LOW);
  analogWrite(3, 255);
}
//dejar de acelerar
void stop_go_turbo() {
  digitalWrite(acelerar, HIGH);
  digitalWrite(desa, HIGH);
}
//acelerar
void go_forward() {
  digitalWrite(acelerar, HIGH);
  digitalWrite(desa, LOW);
  analogWrite(3, 150);
}
//dejar de acelerar
void stop_go_forward() {
  digitalWrite(acelerar, LOW);
  digitalWrite(desa, HIGH);
}
//atras
void go_reverse() {
  digitalWrite(acelerar, LOW);
  digitalWrite(desa, LOW);
  analogWrite(3, 255);
}
//Dejar marcha atras
void stop_go_reverse() {
  digitalWrite(acelerar, LOW);
  digitalWrite(desa, HIGH);
}
//derecha
void go_right() {
  digitalWrite(girar, LOW);
  digitalWrite(desb, LOW);
  analogWrite(11, 255);
}
//izquierda
void go_left() {
  digitalWrite(girar, HIGH);
  digitalWrite(desb, LOW);
  analogWrite(11, 255);
}
//dejar de girar
void stop_turn() {
  digitalWrite(girar, HIGH);
  digitalWrite(desb, HIGH);
  analogWrite(11, 0);
}
// Zumbador ON
void zumbador_on() {
         analogWrite(zumbador,735); //emite sonido
}
// Zumbador OFF
void zumbador_off() {
  digitalWrite(zumbador, LOW);
}
//_______________________________________________________________________
// Read serial port and perform command
void performCommand() {
  if (Serial.available()) {
    val = Serial.read();
  }
    if (val == 'f') { // Forward
      go_forward();
    } else if (val == 'z') { // Stop Forward
      stop_go_forward();
    } else if (val == 'b') { // Backward
      go_reverse();
    } else if (val == 'y') { // Stop Backward
      stop_go_reverse();
    } else if (val == 'l') { // Right
      go_right();
    } else if (val == 'r') { // Left
      go_left();
    } else if (val == 'v') { // Stop Turn
      stop_turn();
    } else if (val == 't') { // Turbo
      go_turbo();
    } else if (val == 'x') { // Stop Turbo
      stop_go_turbo();
    } else if (val == 'd') { // Long Lights
      zumbador_on();
    } else if (val == 'e') { // Stop Long Lights
      zumbador_off();
    }
}
void loop() {
  performCommand();
}

Step 4: Conectar El Movil Por Bluetooth

En mi caso estoy usando un android con la aplicacion mobotBTCar

https://play.google.com/store/apps/details?id=es.m...

Si quereis usar otra app solo teneis que cambiar las letras en el codigo del sketch por el que indica el app

Para conectarlo desde el app MobotBTCar solo teneis que darle a conectar y seleccionar el dispositivo HC-06 poniendo la clave 1234.

Comments

author
Max+J made it!(author)2015-05-25

Hola! Genial proyecto y excelente explicación, tengo un pequeno problema, no pùedo girar el coche. Las ruedas se mueven a la izquierda y a la derecha pero no puedo hacer eso y avanzar a la vez, cuando lo intento se para todo. Agradecería que me ayudaras.

Gracias :D

author
luisanllo made it!(author)2015-05-26

Hola, muchas gracias. Fijate si se te reinicia el arduino al mover los dos motores a la vez. Si pasa esto probablemente sea que la bateria no me da suficiente potencia para mover todo, y el arduino se reinicia. Mi correo es tatoanllo.2@gmail.com. Si sigue sin funcionar enviame un mensaje por ahi

author
Max+J made it!(author)2015-06-07

Era la batería! Le he puesto una de 12 V y ahora va perfecto, muchas gracias!

IMG_20150607_222219.jpg