Construye un robot controlado por voz con Arduino Nano
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino Nano R3 | 1 |
| Controlador de motor L298N | 1 |
| Módulo Bluetooth HC-05 | 1 |
Herramientas necesarias
- Pistola de silicona caliente
Aplicaciones y servicios en línea
- Arduino IDE
Sobre el proyecto
Los robots son geniales. Tener un robot que se mueva escuchando tus comandos de voz es aún más genial. Hacer un robot controlado por voz con Arduino es lo más genial de todo, porque los Arduino son baratos y fáciles de modificar.
Paso 1: Piezas necesarias
Electrónica:
- Arduino Nano - 1x
- Módulo controlador de motor L298N - 1x
- Módulo Bluetooth HC-05 - 1x
- Motor DC y rueda compatible - 2x
- PCB multifunción para robot - 1x
- Headers macho/hembra
Para la carrocería:
- Lámina de PVC
- Pistola de silicona caliente
Software:
- Arduino IDE
- Una app que he creado
Paso 2: Principio de funcionamiento
Arduino no tiene potencia para reconocimiento de voz, pero mi PCB tiene puerto para módulo Bluetooth. Así puedo conectar Arduino inalámbricamente a un móvil. La app Android usa la API de Google "Speech to Text" (requiere internet) y envía el texto a Arduino por Bluetooth.
Si digo "Adelante", el robot recibe 'F' y avanza. Ese es el concepto.
Paso 3: Construir la carrocería
Usé una lámina de PVC de 13x13.5 cm. Es fácil de cortar con cúter y pega bien. Corté piezas para montar dos motores y ruedas dentro del área de la placa y las pegué. No hace falta que sea idéntico.
Paso 4: ¿Circuito o PCB?
Diseñé el PCB con EasyEDA y lo pedí a PCBWay.com (10 PCB multicapa por 5$). También patrocinan proyectos estudiantiles. Si no puedes pedir PCB, puedes usar protoboard; he subido el circuito en Fritzing.
Paso 5: Conectar la electrónica
- Motores a L298N: Motor 1 a un extremo, Motor 2 al otro.
- Control motores: Motor 1 → pines 2 y 3 de Arduino; Motor 2 → pines 4 y 5.
- Bluetooth HC-05: Tx → Rx Arduino, Rx → Tx Arduino, VCC → 5V, GND → GND.
- Batería: 7.4V para motores, conectada a entrada del driver y a VIN y GND de Arduino. Tierra común necesaria.
Paso 6: Programar Arduino
Programa simple: comprueba caracteres recibidos por serie (9600 bps) y actúa:
- 'F' - Adelante
- 'B' - Atrás
- 'L' - Izquierda
- 'R' - Derecha
/**** Robot controlado por voz/voz Arduino ***
* by Ashraf Minhaj
* mail: ashraf_minhaj@yahoo.com
* tutorial: ashrafminhajfb.blogspot.com
*/
int lm1 = 4, lm2 = 5; // motor izquierdo
int rm1 = 2, rm2 = 3; // motor derecho
char val;
void setup() {
pinMode(lm1, OUTPUT); pinMode(lm2, OUTPUT);
pinMode(rm1, OUTPUT); pinMode(rm2, OUTPUT);
Serial.begin(9600);
}
void loop() {
while(Serial.available() == 0);
val = Serial.read();
if (val == 'F') { // Adelante
digitalWrite(lm1, HIGH); digitalWrite(rm1, HIGH);
digitalWrite(lm2, LOW); digitalWrite(rm2, LOW);
}
else if(val == 'B') { // Atrás
digitalWrite(lm2, HIGH); digitalWrite(rm2, HIGH);
digitalWrite(lm1, LOW); digitalWrite(rm1, LOW);
}
else if(val == 'R') { // Derecha
digitalWrite(lm1, HIGH); digitalWrite(rm2, HIGH);
digitalWrite(lm2, LOW); digitalWrite(rm1, LOW);
}
else if(val == 'L') { // Izquierda
digitalWrite(lm2, HIGH); digitalWrite(rm1, HIGH);
digitalWrite(lm1, LOW); digitalWrite(rm2, LOW);
}
else { // STOP
digitalWrite(lm1, LOW); digitalWrite(rm1, LOW);
digitalWrite(lm2, LOW); digitalWrite(rm2, LOW);
}
delay(10);
}
Paso 7: App para voz a texto
Creada con MIT App Inventor. Usa conectividad Bluetooth para controlar el robot. Hay que emparejar el HC-05 (contraseña por defecto 1234 o 0000). Usa API Google Speech-to-Text, convierte a minúsculas y compara con if-else. Si dices "forward" envía 'F' a Arduino.
Paso 8: ¡Alimenta el bot, ejecuta la app y a rodar!
Conecta la batería y usa la app Android para jugar con tu nuevo robot.
Código
El código completo está arriba. También disponible en GitHub.
Esquemáticos
Proceso de manufactura
- Construya un robot Raspberry Pi controlado por Bluetooth con retroalimentación de audio
- Construya un robot con streaming de vídeo controlado por Internet con Arduino y Raspberry Pi
- Construye un Robot Controlado por Voz con Windows 10 IoT Core en Raspberry Pi 2
- Construye un Robot Raspberry Pi Controlado por Wi‑Fi con Python – Guía Paso a Paso
- Transforma un viejo coche RC en un vehículo controlado por joystick con Arduino
- Robot Seguidor de Línea Autónomo con Arduino UNO: Guía Paso a Paso
- Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
- Brazo Robótico Controlado por Ethernet: Control Remoto Simplificado
- MobBob: Robot Arduino Impreso en 3D, Controlado por Smartphone Android
- PiBot: Robot Pianista con Arduino para Interpretación Musical de Precisión
- Robot Asistente Doméstico Autónomo "O'nine" – Integración ROS, Alexa y Brazo Robótico