Sprachgesteuertes Arduino Auto mit Bluetooth (HC-05) – DIY Anleitung
Komponenten und Zubehör
| Arduino UNO | × | 1 |
| Steckbrett | × | 1 |
| DC-Motoren + Räder | × | 2 |
| Chassis (passende Größe) | × | 1 |
| Spannungsregler LM7805 (5V für Arduino) | × | 1 |
| L293D Dual H-Brücke Motortreiber | × | 1 |
| 12V Batterie / Akku (Antrieb) | × | 1 |
| Jumper-Kabel | × | 1 |
| Bluetooth Modul HC-05 | × | 1 |
Über dieses Projekt
Komponenten
- Arduino Uno, Steckbrett, 2 Motoren + Räder, Chassis
- LM7805 (5V aus 12V), L293D, 12V Akku, Jumper-Kabel
- Bluetooth HC-05
Steuerungs-App (Android): Arduino Sesli Kontrol
Idee
Die App erkennt Spracheingaben ("forward", "back", "left", "right") und sendet die Kommandos als Strings über Bluetooth an den Arduino. Der Arduino liest zeichenweise vom Serial-Puffer, baut den String zusammen und vergleicht ihn mit den Kommandos. Bei Übereinstimmung wird die entsprechende Fahrbewegung ausgeführt.
Verdrahtung
Alle Verbindungen im Detail: yainnoware.blogspot.com
Code
Voice Controlled Car (Arduino)
int motor_input1 = 11; // Rechter Motor Vorwärts
int motor_input2 = 10; // Rechter Motor Rückwärts
int motor_input3 = 5; // Linker Motor Vorwärts
int motor_input4 = 6; // Linker Motor Rückwärts
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; // Ende-Marker
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); // Echo für Debug
voice = "";
// Alle Motoren stoppen
digitalWrite(motor_input1, LOW); digitalWrite(motor_input2, LOW);
digitalWrite(motor_input3, LOW); digitalWrite(motor_input4, LOW);
}
}
Hinweis: Die App sendet Kommandos gefolgt von '#' als Terminator. Die Motoren laufen für feste Zeiten (5 s vor/rück, 0,8 s drehen). Für proportionales Fahren müsste PWM (analogWrite) auf den Enable-Pins des L293D genutzt werden.
Herstellungsprozess
- Alexa-gesteuerter ARDrone 2.0: Sprachaktivierte Drohne mit Raspberry Pi & Hologram Nova
- Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
- 37-LED-Roulette-Spiel mit Arduino Nano bauen – Europäisches Layout
- Altes RC-Auto per Xbox-Controller & Arduino zum Joystick-Fahrzeug umbauen
- ATtiny85 Mini-Arcade: Snake – Handheld OLED-Spielekonsole selbst bauen
- Tragbarer Entfernungsmesser – Arduino Nano DIY-Kit mit HC-SR04, 18650-Akku und 3D-gedrucktem Gehäuse
- MobBob: Eigenen Arduino-Roboter bauen, per Android-Smartphone steuern
- App-gesteuerter hydraulischer Kran – Präzision & Einfachheit
- Autonomes Gesichtsverfolgungs-Robotercar mit Arduino Nano & OpenCV
- PiBot: Arduino-gesteuerter Klavierroboter für präzise Musikwiedergabe