INHALT
Das Arduino-Roboterauto mit Bluetooth-Steuerung von einem Android-Telefon aus ist ein einfaches, aber interessantes Projekt unter Verwendung des Motor Shield L293D und des Bluetooth-Moduls. Auf dieser Seite erfahren Sie, welche Komponenten für den Arduino benötigt werden, erhalten eine Schritt-für-Schritt-Anleitung für den Zusammenbau der Schaltung und können alle notwendige Software für Android und Arduino herunterladen.
Bestandteile:
- Arduino Uno / Arduino Mega
- DC-Motoren FA-130
- L293D Motortreiber Shield
- Bluetooth Module HC-06 / HC-05
- LEDs und Widerstände
- Android App car.apk
- Bibliothek SoftwareSerial.h und AFMotor.h
Das Projekt verwendet Motor Shield L293D, zwei Getriebemotoren (4 Motoren können angeschlossen werden), Arduino Uno, HC-05 Bluetooth Modul und zwei LEDs. Das Modell wird über ein Smartphone oder Tablet gesteuert. Nach dem Zusammenbau des Modells und der Installation der Software können Sie die Android-App verwenden, um das Auto zu steuern, vorwärts und rückwärts zu fahren und die Scheinwerfer einzuschalten.
Arduino-Roboterauto mit Bluetooth-Steuerung
Das Bluetooth-Modul wird über die Servo-Pins mit Strom versorgt, da wir in diesem Projekt keine Servomotoren benötigen. Die LEDs werden von Pin 2 gesteuert. Um die TX- und RX-Pins des HC-05-Moduls anzuschließen, ist es bequemer, die analogen Pins A1 und A2 zu verwenden, indem man die SoftwareSerial.h-Bibliothek im Sketch benutzt. Auf diese Weise müssen Sie das Bluetooth-Modul beim Laden des Codes nicht vom Arduino trennen.
Programm für Arduino Auto mit Android-Steuerung
#include "SoftwareSerial.h" SoftwareSerial mySerial(A1, A2); // TX, RX #include "AFMotor.h" AF_DCMotor motor1(1); AF_DCMotor motor2(2); AF_DCMotor motor3(3); AF_DCMotor motor4(4); int val; void setup() { mySerial.begin(9600); pinMode(2, OUTPUT); // LEDs motor1.setSpeed(250); // Höchstgeschwindigkeit motor1.run(RELEASE); // Abstellen des Motors motor2.setSpeed(250); motor2.run(RELEASE); motor3.setSpeed(250); motor3.run(RELEASE); motor4.setSpeed(250); motor4.run(RELEASE); } void loop() { if (mySerial.available() ) { val = mySerial.read(); // weiter if (val == 'f') { motor1.run(FORWARD); motor1.setSpeed(250); motor2.run(FORWARD); motor2.setSpeed(250); motor3.run(FORWARD); motor3.setSpeed(250); motor4.run(FORWARD); motor4.setSpeed(250); } // zurück if (val == 'b') { motor1.run(BACKWARD); motor1.setSpeed(200); motor2.run(BACKWARD); motor2.setSpeed(200); motor3.run(BACKWARD); motor3.setSpeed(200); motor4.run(BACKWARD); motor4.setSpeed(200); } // stop if (val == 's') { motor1.run(RELEASE); motor2.run(RELEASE); } // links if (val == 'l') { motor1.run(FORWARD); motor1.setSpeed(100); motor2.run(BACKWARD); motor2.setSpeed(250); motor3.run(FORWARD); motor3.setSpeed(100); motor4.run(BACKWARD); motor4.setSpeed(250); } // rechts if (val == 'r') { motor1.run(BACKWARD); motor1.setSpeed(250); motor2.run(FORWARD); motor2.setSpeed(100); motor3.run(BACKWARD); motor3.setSpeed(250); motor4.run(FORWARD); motor4.setSpeed(100); } if (val == '1') { digitalWrite(2, HIGH); } if (val == '0') { digitalWrite(2, LOW); } } }
- Die Motoren drehen sich anders, wenn sie an die Batterien angeschlossen sind. Sie können Ihre eigene Motorgeschwindigkeit in der Software einstellen;
- Die Abbildung zeigt den Anschluss von zwei Motoren, Sie können aber auch vier Motoren gleichzeitig anschließen. Die Drehrichtung der Motoren muss eventuell umgekehrt werden.
Android-App für die Arduino Roboterauto
Nachdem Sie die Schaltung zusammengebaut und die Software auf den Mikrocontroller heruntergeladen haben, laden Sie die Smartphone-App herunter und installieren Sie sie. Wenn Sie das HC-05/06 Bluetooth-Modul zum ersten Mal anschließen, müssen Sie es mit Android koppeln (dann wird die Kopplung automatisch durchgeführt). Wenn Sie Probleme mit der Verbindung haben, stellen Sie eine Frage in den Kommentaren zu diesem Beitrag.
Schlussfolgerung. Das L293D-Modul ist sehr einfach anzuschließen – es wird direkt auf das Arduino Uno-Board aufgesteckt. Beachten Sie, dass ohne eine externe Stromversorgung die Logik und die Motoren mit 5 Volt betrieben werden, was nicht immer ausreicht. Daher wird die Geschwindigkeit der Gleichstrommotoren erheblich abweichen, wenn das Arduino-Board vom Computer und der Stromversorgung getrennt wird.
Schreibe einen Kommentar