Robot commandé par la voix avec Arduino Nano et Bluetooth
Composants nécessaires
- 1 × Arduino Nano R3
- 1 × Pilotage moteur L298N
- 1 × Module Bluetooth HC-05
- 2 × Moteur CC avec roues compatibles
- 1 × Circuit imprimé multifonction robot (optionnel, peut être remplacé par plaque d'essai)
- Connecteurs mâles/femelles
Outils
- Pistolet à colle chaude
Applications
- Arduino IDE
- Application Android personnalisée (créée avec MIT App Inventor)
À propos du projet
Les robots sont cool. Un robot qui se déplace en écoutant vos commandes vocales est encore plus cool. Le réaliser avec Arduino est très accessible car les cartes sont peu coûteuses et faciles à programmer.
Principe de fonctionnement
L'Arduino n'a pas la puissance pour faire de la reconnaissance vocale. Mais le module Bluetooth HC-05 permet une liaison sans fil vers un smartphone. Une application Android utilise l'API Google « Speech-to-Text » (nécessite Internet) pour convertir la parole en texte, puis envoie des commandes simples via Bluetooth à l'Arduino.
Exemple : dire « Forward » envoie le caractère 'F' → le robot avance.
Construction du châssis
Châssis en feuille PVC (13×13,5 cm), facile à découper au cutter et à coller. Les moteurs et roues sont montés à l'intérieur du périmètre du circuit imprimé.
Circuit électronique
Le circuit imprimé (conçu sur EasyEDA, fabriqué par PCBWay) simplifie grandement le câblage. Sinon, utilisez une plaque d'essai ou une plaque à pastilles avec le schéma Fritzing fourni.
Connexions principales
- Moteurs → L298N : Moteur 1 sur une extrémité, Moteur 2 sur l'autre
- Commande moteurs → Arduino : Moteur 1 sur broches 2 et 3 ; Moteur 2 sur broches 4 et 5
- Bluetooth HC-05 : TX → RX Arduino, RX → TX Arduino, VCC → 5V, GND → GND
- Alimentation : Batterie 7,4V sur l'entrée du L298N et sur VIN + GND de l'Arduino (masse commune)
Programmation Arduino
Le programme attend des caractères sur le port série (9600 bauds) et commande les moteurs :
- 'F' → Avant
- 'B' → Arrière
- 'L' → Gauche
- 'R' → Droite
- Autre → Stop
/**** Arduino Speech/Voice Controlled Robot ****
* by Ashraf Minhaj
* mail: ashraf_minhaj@yahoo.com
*/
int lm1 = 4, lm2 = 5; // Moteur gauche
int rm1 = 2, rm2 = 3; // Moteur droit
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') { // Avant
digitalWrite(lm1, HIGH); digitalWrite(rm1, HIGH);
digitalWrite(lm2, LOW); digitalWrite(rm2, LOW);
}
else if (val == 'B') { // Arrière
digitalWrite(lm2, HIGH); digitalWrite(rm2, HIGH);
digitalWrite(lm1, LOW); digitalWrite(rm1, LOW);
}
else if (val == 'R') { // Droite
digitalWrite(lm1, HIGH); digitalWrite(rm2, HIGH);
digitalWrite(lm2, LOW); digitalWrite(rm1, LOW);
}
else if (val == 'L') { // Gauche
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);
}
Application Android (MIT App Inventor)
L'application utilise la connectivité Bluetooth pour contrôler le robot. Après appairage du HC-05 (mot de passe par défaut 1234 ou 0000), elle utilise l'API Google Speech-to-Text, convertit le texte en minuscules, et envoie la commande correspondante via Bluetooth. Le fichier source .aia est disponible pour personnalisation.
Mise en service
- Branchez la batterie
- Lancez l'application sur votre téléphone
- Connectez-vous au module Bluetooth
- Donnez vos ordres vocaux !
Schéma de câblage
Ressources
- Code source GitHub : github.com/ashraf-minhaj/speech-controlled-robot
- Fichier Fritzing : speech-controlled-robot-schematic.fzz
Processus de fabrication
- Construire un robot Raspberry Pi piloté par Bluetooth avec retour audio
- Construire un robot piloté par Internet avec streaming vidéo Arduino & Raspberry Pi
- Construire un robot piloté par la parole avec Windows 10 IoT Core sur Raspberry Pi 2
- Construire un robot Raspberry Pi piloté Wi-Fi avec Python – Guide pas à pas
- Transformez une vieille voiture RC en véhicule piloté au joystick avec Arduino
- Créez un robot suiveur de ligne autonome avec Arduino UNO
- Bras robotique 6 DoF piloté par Nunchuk Wii – Kit Arduino Mega
- Bras robotique piloté par Ethernet : contrôle à distance simplifié
- MobBob : Construisez votre propre robot Arduino, contrôlé via smartphone Android