Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Sprachgesteuerter Roboter mit Arduino Nano bauen

Komponenten und Zubehör

Komponente Menge
Arduino Nano R3 1
L298N Motortreiber 1
HC-05 Bluetooth-Modul 1

Benötigte Werkzeuge

Apps und Onlinedienste

Über dieses Projekt

Roboter sind cool. Ein Roboter, der per Sprachbefehl steuerbar ist, noch cooler. Mit Arduino geht das günstig und einfach anzupassen.

Schritt 1: Benötigte Teile

Sprachgesteuerter Roboter mit Arduino Nano bauen
Alle benötigten Komponenten

Elektronik:

Gehäuse:

Software:

Schritt 2: Prinzip – Wie funktioniert es?

Der Arduino allein kann keine Spracherkennung leisten. Aber: Das PCB hat einen Port für das Bluetooth-Modul. So kann der Arduino kabellos mit einem Smartphone kommunizieren. Die App nutzt die Google Speech-to-Text API (benötigt Internet), wandelt Sprache in Text um und sendet Befehle via Bluetooth an den Arduino.

Beispiel: Sage ich „Vorwärts“, sendet die App ‚F‘ an den Arduino → Roboter fährt vorwärts.

Schritt 3: Gehäuse bauen

Chassis aus 13×13,5 cm PVC-Platte – leicht mit Messer zu schneiden und gut zu kleben. Motoren und Räder werden im Board-Bereich montiert und verklebt. Das Design ist frei wählbar.

Schritt 4: Schaltung aufbauen oder PCB nutzen?

Sprachgesteuerter Roboter mit Arduino Nano bauen
Eigenes PCB-Design (EasyEDA, gefertigt bei PCBWay)

Statt Breadboard-Verdrahtung (fehleranfällig) wurde ein eigenes PCB entworfen (EasyEDA, Bestellung bei PCBWay: 10 Stk. Mehrlayer für 5 $). Falls kein PCB möglich: Fritzing-Schaltplan im Code-Bereich zum Nachbau auf Breadboard/Veroboard.

Schritt 5: Elektronik verbinden

Sprachgesteuerter Roboter mit Arduino Nano bauen
Anschlusschema

Motoren an Motortreiber:

Motortreiber an Arduino (Steuerpins):

Bluetooth-Modul HC-05:

Stromversorgung: 7,4 V Akku an Motortreiber-Eingang sowie Arduino VIN und GND. Gemeinsame Masse (Common Ground) erforderlich.

Schritt 6: Arduino programmieren

Einfaches Programm: Prüft empfangene Zeichen und steuert Motoren entsprechend.

Bluetooth läuft über Serial mit 9600 Baud.

/**** Arduino Speech/Voice Controlled Robot ***
 * by Ashraf Minhaj
 * ashraf_minhaj@yahoo.com
 */

int lm1 = 4, lm2 = 5;   // linker Motor
int rm1 = 2, rm2 = 3;   // rechter Motor
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);  // Warten auf Daten
  val = Serial.read();
  // Serial.print(val);

  if (val == 'F') {           // Vorwärts
    digitalWrite(lm1, HIGH); digitalWrite(rm1, HIGH);
    digitalWrite(lm2, LOW);  digitalWrite(rm2, LOW);
  }
  else if (val == 'B') {      // Rückwärts
    digitalWrite(lm2, HIGH); digitalWrite(rm2, HIGH);
    digitalWrite(lm1, LOW);  digitalWrite(rm1, LOW);
  }
  else if (val == 'R') {      // Rechts
    digitalWrite(lm1, HIGH); digitalWrite(rm2, HIGH);
    digitalWrite(lm2, LOW);  digitalWrite(rm1, LOW);
  }
  else if (val == 'L') {      // Links
    digitalWrite(lm2, HIGH); digitalWrite(rm1, HIGH);
    digitalWrite(lm1, LOW);  digitalWrite(rm2, LOW);
  }
  else {                      // Stopp
    digitalWrite(lm1, LOW); digitalWrite(rm1, LOW);
    digitalWrite(lm2, LOW); digitalWrite(rm2, LOW);
  }
  delay(10);
}

Schritt 7: App für Speech-to-Text

Sprachgesteuerter Roboter mit Arduino Nano bauen
MIT App Inventor: Sprachsteuerung-Logik

App erstellt mit MIT App Inventor – anpassbar. .aia-Datei herunterladen.

Funktionsweise:

  1. Bluetooth-Verbindung zum HC-05 (Standard-PIN: 1234 oder 0000)
  2. Google Speech-to-Text API wandelt Sprache in Text
  3. Text in Kleinbuchstaben umwandeln
  4. If-Else-Prüfung: „forward“ → ‚F‘ senden, „backward“ → ‚B‘, etc.

Als APK bauen, auf Handy installieren.

Schritt 8: Roboter starten und losfahren!

Akku anschließen, App starten, per Sprachbefehl steuern – fertig!

Danke fürs Lesen. Schaut auch mein neuestes Projekt an!

Code-Schnipsel

Setup-Funktion

void setup() {
  pinMode(lm1, OUTPUT); pinMode(lm2, OUTPUT);
  pinMode(rm1, OUTPUT); pinMode(rm2, OUTPUT);
  Serial.begin(9600);
}

Vollständiger Loop-Code

void loop() {
  while (Serial.available() == 0);
  val = Serial.read();

  if (val == 'F') {
    digitalWrite(lm1, HIGH); digitalWrite(rm1, HIGH);
    digitalWrite(lm2, LOW);  digitalWrite(rm2, LOW);
  }
  else if (val == 'B') {
    digitalWrite(lm2, HIGH); digitalWrite(rm2, HIGH);
    digitalWrite(lm1, LOW);  digitalWrite(rm1, LOW);
  }
  else if (val == 'R') {
    digitalWrite(lm1, HIGH); digitalWrite(rm2, HIGH);
    digitalWrite(lm2, LOW);  digitalWrite(rm1, LOW);
  }
  else if (val == 'L') {
    digitalWrite(lm2, HIGH); digitalWrite(rm1, HIGH);
    digitalWrite(lm1, LOW);  digitalWrite(rm2, LOW);
  }
  else {
    digitalWrite(lm1, LOW); digitalWrite(rm1, LOW);
    digitalWrite(lm2, LOW); digitalWrite(rm2, LOW);
  }
  delay(10);
}

GitHub Repository: github.com/ashraf-minhaj/speech-controlled-robot

Schaltplan

Fritzing-Datei: speech-controlled-robot-schematic_hUoWKpapKe.fzz

Herstellungsprozess

  1. Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
  2. Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
  3. Sprachgesteuerter Roboter mit Windows 10 IoT Core auf Raspberry Pi 2 bauen
  4. WLAN-gesteuerter Raspberry Pi Roboter mit Python bauen – Schritt-für-Schritt
  5. Altes RC-Auto per Xbox-Controller & Arduino zum Joystick-Fahrzeug umbauen
  6. Autonomer Linienfolger-Roboter mit Arduino UNO
  7. Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
  8. Ethernet-gesteuerter Roboterarm: Fernsteuerung leicht gemacht
  9. MobBob: Eigenen Arduino-Roboter bauen, per Android-Smartphone steuern
  10. PiBot: Arduino-gesteuerter Klavierroboter für präzise Musikwiedergabe