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

Stembestuurde Arduino Auto met BLE – Zelfbouw Handleiding

Onderdelen en Benodigdheden

Arduino UNO 1
Breadboard 1
DC-motoren 2
Wielen 2
Chassis (passende maat) 1
Spanningsregelaar LM7805 1
L293D Dual H-brug motordriver 1
12V batterij (voeding) 1
Draadbruggen 1 set
Bluetooth-module HC-05 (of BLE-module) 1

Over dit Project

Componenten

Zie tabel bovenaan. De Android-app voor stemherkenning is te vinden op: Google Play Store.

Idee

De Bluetooth-module communiceert met de app. Spraakcommando's worden als tekens via de seriële poort naar de Arduino gestuurd. De Arduino verzamelt karakters tot een string en vergelijkt deze met bekende commando's ("forward", "back", "left", "right"). Bij match wordt de bijbehorende motoractie uitgevoerd.

Aansluitingen

Volledig schema: yainnoware.blogspot.com

Code

int motor_input1 = 11; // Rechts motor
int motor_input2 = 10;
int motor_input3 = 5;  // Links motor
int motor_input4 = 6;
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; // einde commando
    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);
    voice = "";
    // Stop motors
    digitalWrite(motor_input1, LOW);
    digitalWrite(motor_input2, LOW);
    digitalWrite(motor_input3, LOW);
    digitalWrite(motor_input4, LOW);
  }
}

Let op: De code gebruikt een eenvoudige protocollering: commando's eindigen met '#'. De app moet dit teken sturen. De motorpinnen zijn voorbeeld – pas aan aan je L293D-aansluiting.

Productieproces

  1. Alexa-gecontroleerde ARDrone 2.0 Demo: Stem-geactiveerde Drone met Raspberry Pi & Hologram Nova
  2. Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
  3. Bouw Je Eigen 37-LED Roulette-spel met Arduino Nano
  4. Een oude RC-auto ombouwen tot joystick-gestuurd voertuig met Arduino
  5. ATtiny85 Mini Arcade: Snake – Bouw een Handheld OLED Game Console
  6. Draagbare Afstandsdetector – Arduino Nano DIY Kit met HC-SR04, 18650 Accu en 3D-geprinte Behuizing
  7. MobBob: Bouw Je Eigen Arduino Robot, Naadloos Bestuurd via Android Smartphone
  8. Slimme app-gestuurde hydraulische kraan – Precisie & Gemak
  9. Autonome Gezichtsvolgende Robot Auto met Arduino Nano & OpenCV
  10. PiBot: De Arduino-aangedreven pianorobot voor precisiemuziek
  11. Koper Elektrolyseren Project: Bouw een Slim Systeem met Arduino UNO