Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bouw een Stemgecontroleerde Robot met Arduino Nano

Onderdelen en benodigdheden

Arduino Nano R3 1
L298N Motordriver 1
HC-05 Bluetooth Module 1

Benodigde tools en machines

  • Lijmpistool (hot glue gun)

Apps en online diensten

  • Arduino IDE

Over dit project

Robots zijn cool. Een robot die rondrijdt en luistert naar je stemcommando's is nog cooler. Zo'n spraakgecontroleerde robot maken met Arduino is nog veel cooler, want Arduino's zijn goedkoop en makkelijk aan te passen.

Laten we beginnen, je kunt ook de videotutorial bekijken.

Stap 1: Benodigde onderdelen

Bouw een Stemgecontroleerde Robot met Arduino Nano

Elektronica:

  • Arduino Nano – 1x
  • L298N Motordriver module – 1x
  • HC-05 Bluetooth module – 1x
  • DC motor met passend wiel – 2x
  • Multifunctionele Robot PCB – 1x (link)
  • Verschillende male en female headers

Voor de behuizing:

  • PVC plaat
  • Lijmpistool

Software:

  • Arduino IDE
  • Een app die ik zelf maakte

Stap 2: Principe – Hoe werkt het?

Het is altijd goed om te begrijpen wat je gaat doen voordat je begint. Arduino is een microcontroller en heeft niet genoeg kracht voor spraakherkenning. Maar mijn PCB heeft een poort voor een Bluetooth module, dus ik kan de Arduino draadloos verbinden met andere apparaten.

Ik maak een Android app die "Speech to Text" doet via Google API (vereist internet) en na ontvangst van de tekst stuurt het commando's naar de Arduino via Bluetooth.

Als ik "Vooruit" zeg, ontvangt de robot 'F' en rijdt vooruit. Dat is het concept. Laten we het bouwen.

Stap 3: De behuizing maken

Ik maakte het chassis van een 13x13,5 cm PVC plaat. Het is makkelijk te knippen met een mes en werkt goed met lijm. Ik knipte stukken om twee motoren en wielen te monteren en plakte ze vast.

Je hoeft het niet exact na te maken – jouw bot, jouw keuze.

Stap 4: Schakeling bouwen of PCB gebruiken?

Bouw een Stemgecontroleerde Robot met Arduino Nano

Een schakeling op breadboard vereist veel bedrading en één fout kan het project laten mislukken. Daarom gebruik ik liever PCB's. Ik ontwierp deze PCB met EasyEDA en bestelde bij PCBWay.com – 10 meerlagige PCB's voor $5. Ze sponsoren ook studentprojecten.

Als je de PCB niet kunt bestellen, kun je het ook op breadboard of veroboard bouwen. Het Fritzing schema is beschikbaar: speech-controlled-robot-schematic.fzz

Stap 5: Electronica aansluiten

Bouw een Stemgecontroleerde Robot met Arduino Nano

Motoren aan motordriver:

  • Motor 1 draden → één kant van driver
  • Motor 2 draden → andere kant

Motoren besturen:

  • Motor 1 pinnen op L298N → Arduino pin 2 en 3 (digitaal)
  • Motor 2 pinnen → Arduino pin 4 en 5

Bluetooth module:

  • Tx → Arduino Rx
  • Rx → Arduino Tx
  • VCC → 5V/VCC
  • GND → GND

Batterij:

Ik gebruikte een 7,4V batterij voor de motoren, aangesloten op motordriver input en Arduino VIN en GND. Common ground is nodig.

Stap 6: Arduino Programmeren

Een simpel programma dat tekens checkt en daarop reageert:

  • 'F' – Vooruit
  • 'B' – Achteruit
  • 'L' – Links
  • 'R' – Rechts

De Bluetooth module zit op de seriële poort, communicatie op 9600 bps.

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

// Hoofdloop
void loop() {
  while(Serial.available() == 0);
  val = Serial.read();
  
  if (val == 'F') {  // Vooruit
    digitalWrite(lm1, HIGH); digitalWrite(rm1, HIGH);
    digitalWrite(lm2, LOW);  digitalWrite(rm2, LOW);
  }
  else if(val == 'B') {  // Achteruit
    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 {  // STOP
    digitalWrite(lm1, LOW); digitalWrite(rm1, LOW);
    digitalWrite(lm2, LOW); digitalWrite(rm2, LOW);
  }
  delay(10);
}

Stap 7: App voor Spraak-naar-Tekst

Ik maakte de app met MIT App Inventor. Je kunt het aanpassen aan je wensen. Haal het .aia bestand hier.

De app gebruikt Bluetooth om de robot te besturen. Koppel de HC-05 module met je telefoon (standaard wachtwoord: 1234 of 0000).

De app gebruikt Google Speech to Text API om spraak om te zetten in tekst. De zin wordt omgezet naar kleine letters voor eenvoudigere verwerking en via if-else statements gematched. Als de gebruiker "vooruit" zegt, stuurt de app 'F' naar de Arduino.

Build en bewaar als APK, of gebruik de mijne. Installeer op je telefoon.

Stap 8: De Bot Aan, App Draaien en Ga!

Stop de batterij erin, start de Android app en speel met je nieuwe robot!

Bedankt voor het lezen. Bekijk mijn nieuwste project!

Code

Complete Arduino Code (C/C++)

/**** Arduino Spraak/Stem Gecontroleerde Robot ***
 * by Ashraf Minhaj
 * mail: ashraf_minhaj@yahoo.com
 * tutorial: ashrafminhajfb.blogspot.com
 */

int lm1 = 4;  // linker motor pin 1
int lm2 = 5;  // linker motor pin 2
int rm1 = 2;  // rechter motor pin 1
int rm2 = 3;  // rechter motor pin 2
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') {  // Vooruit
    digitalWrite(lm1, HIGH); digitalWrite(rm1, HIGH);
    digitalWrite(lm2, LOW);  digitalWrite(rm2, LOW);
  }
  else if(val == 'B') {  // Achteruit
    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 {  // STOP
    digitalWrite(lm1, LOW); digitalWrite(rm1, LOW);
    digitalWrite(lm2, LOW); digitalWrite(rm2, LOW);
  }
  delay(10);
}

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

Schema's

Bestand: speech-controlled-robot-schematic_hUoWKpapKe.fzz

Productieproces

  1. Bouw een Bluetooth-gecontroleerde Raspberry Pi Robot met Audio Feedback
  2. Bouw een Internet-gecontroleerde Video-streamende Robot met Arduino & Raspberry Pi
  3. Bouw een Spraak-gecontroleerde Robot met Windows 10 IoT Core op Raspberry Pi 2
  4. Bouw een Wi-Fi-gecontroleerde Raspberry Pi Robot met Python – Stap-voor-stap Gids
  5. Een oude RC-auto ombouwen tot joystick-gestuurd voertuig met Arduino
  6. Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
  7. Arduino-gebaseerde 6-DoF Robotarm Gestoeerd met Wii Nunchuk
  8. Ethernet-gestuurde robotarm: Remote control gemaakt simpel
  9. MobBob: Bouw Je Eigen Arduino Robot, Naadloos Bestuurd via Android Smartphone
  10. PiBot: De Arduino-aangedreven pianorobot voor precisiemuziek
  11. Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids