Coche Arduino Controlado por Voz con BLE – Guía DIY Paso a Paso
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Protoboard | 1 |
| Motores DC (genéricos) | 2 |
| Ruedas | 2 |
| Chasis (tamaño adecuado) | 1 |
| Regulador de voltaje LM7805 | 1 |
| Driver de motor dual H-Bridge L293D (Texas Instruments) | 1 |
| Batería 12V (fuente de alimentación) | 1 |
| Cables de conexión | 1 |
| Módulo Bluetooth HC-05 (o BLE genérico) | 1 |
Sobre el proyecto
Componentes
- Arduino Uno
- Protoboard
- Motores x2 + ruedas x2
- Chasis
- Regulador LM7805
- L293D
- Batería 12V
- Cables
- Módulo Bluetooth HC-05
App Android: Arduino_Sesli_Kontrol (control por voz).
Idea
El módulo Bluetooth se empareja con la app móvil. Los comandos de voz se envían como caracteres serie al Arduino, que los acumula en una cadena y la compara con palabras clave: "forward" (adelante), "back" (atrás), "left" (izquierda), "right" (derecha). Si coincide, ejecuta el movimiento correspondiente.
Conexiones
Esquema completo en: yainnoware.blogspot.com
Código
int motor_input1 = 11; // Motor derecho
int motor_input2 = 10;
int motor_input3 = 5; // Motor izquierdo
int motor_input4 = 6;
String voice;
void setup() {
Serial.begin(9600);
pinMode(motor_input1, OUTPUT);
pinMode(motor_input2, OUTPUT);
pinMode(motor_input3, OUTPUT);
pinMode(motor_input4, OUTPUT);
}
void loop() {
while (Serial.available() > 0) {
delay(10);
char c = Serial.read();
if (c == '#') break; // Fin de comando
voice += c;
}
if (voice == "forward") {
digitalWrite(motor_input1, LOW); digitalWrite(motor_input2, HIGH);
digitalWrite(motor_input3, LOW); digitalWrite(motor_input4, HIGH);
delay(5000);
}
else if (voice == "back") {
digitalWrite(motor_input1, HIGH); digitalWrite(motor_input2, LOW);
digitalWrite(motor_input3, HIGH); digitalWrite(motor_input4, LOW);
delay(5000);
}
else if (voice == "left") {
digitalWrite(motor_input1, LOW); digitalWrite(motor_input2, HIGH);
digitalWrite(motor_input3, HIGH); digitalWrite(motor_input4, LOW);
delay(800);
}
else if (voice == "right") {
digitalWrite(motor_input1, HIGH); digitalWrite(motor_input2, LOW);
digitalWrite(motor_input3, LOW); digitalWrite(motor_input4, HIGH);
delay(800);
}
if (voice.length() > 0) {
Serial.println(voice);
voice = "";
// Para motores
digitalWrite(motor_input1, LOW);
digitalWrite(motor_input2, LOW);
digitalWrite(motor_input3, LOW);
digitalWrite(motor_input4, LOW);
}
}
Notas: La app envía el comando terminado en '#'. Ajusta los delays según el chasis y la velocidad deseada. El LM7805 alimenta la lógica (5V) desde la batería de 12V; usa disipador si calienta. El HC-05 se comunica por UART (pines 0/1 o SoftwareSerial).
Proceso de manufactura
- Demo ARDrone 2.0 Controlado por Alexa: Dron Activado por Voz con Raspberry Pi y Hologram Nova
- Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
- Construye tu Propio Juego de Ruleta de 37 LEDs con Arduino Nano
- Transforma un viejo coche RC en un vehículo controlado por joystick con Arduino
- ATtiny85 Mini Arcade: Snake – Construye una Consola Portátil OLED
- Detector de Rango Portátil – Kit DIY Arduino Nano con HC-SR04, Batería 18650 y Carcasa Impresa en 3D
- MobBob: Robot Arduino Impreso en 3D, Controlado por Smartphone Android
- Grúa hidráulica inteligente controlada por app – Precisión y facilidad
- Coche Robot Seguidor de Rostros Autónomo con Arduino Nano y OpenCV
- PiBot: Robot Pianista con Arduino para Interpretación Musical de Precisión
- Proyecto de electroplacado de cobre: Construye un sistema inteligente con Arduino UNO