4-Rad Arduino Roboter per Dabble App steuern
Komponenten und Zubehör
| Komponente | Menge |
|---|---|
| Arduino UNO | 1 |
| Steckbrett (generic) | 1 |
| DC-Motor (generic) | 4 |
| HC-05 Bluetooth-Modul | 1 |
| Steckbrücken (generic) | 1 |
| Texas Instruments L293D Dual H-Brücke Motortreiber | 1 |
| DC-Klemmblock | 1 |
| Motorbefestigungen | 1 |
| Räder | 1 |
Apps und Online-Dienste
- Arduino IDE
- STEMpedia Dabble (Android App)
Projektbeschreibung
Ein einfacher, spaßiger 4-Rad-Roboter, der per Bluetooth mit der Dabble-App (Gamepad-Modul) gesteuert wird. Ideal als DIY-Geschenk.
Schritt 1: Benötigte Teile
Arduino Uno, Steckbrett, Chassis, Motorbefestigungen, 4 DC-Motoren, Räder, Motortreiber (L293D), HC-05 Bluetooth, DC-Klemmblock, Batterie, Steckbrücken.
Schritt 2: Chassis bauen
Chassis umdrehen, 4 Motorbefestigungen mit M3-Schrauben montieren, DC-Motoren mit M2-Schrauben befestigen, Räder auf Motorwellen stecken, Chassis umdrehen → Fertig.
Schritt 3: Gehirn hinzufügen
Arduino Uno auf Chassis platzieren, Steckbrett für Verkabelung nutzen.
Schritt 4: Verkabelung & Motortreiber
L293D versorgt 4 Motoren (Arduino liefert nicht genug Strom). Linke zwei Motoren parallel, rechte zwei parallel. Anschlüsse:
- Enable Pins → Digital 10, 11
- VCC → Arduino 5V
- Motor-Richtungspins (m1_dir1, m1_dir2, m2_dir1, m2_dir2) → Digital 4, 5, 6, 7
- VC (Motorversorgung) → Externe Batterie
- GND → Arduino GND & Batterie GND (alle GND zusammen)
Schritt 5: Smartphone verbinden
HC-05 Bluetooth-Modul gemäß Schaltplan anschließen (TX/RX gekreuzt).
Schritt 6: Batterie anschließen
Zusätzliche Stromquelle für Motoren über DC-Klemmblock/DC-Buchse.
Schritt 7: Arduino-Code
Code hochladen (siehe unten). Nutzt Dabble-Bibliothek, Gamepad-Modul im Digital-Modus. HC-05 Baudrate ≤ 38400 für Arduino UNO.
Schritt 8: Betrieb
Dabble App starten, Bluetooth verbinden, Gamepad-Modul wählen, linke Steuerkreuz-Tasten: Hoch=Vorwärts, Runter=Rückwärts, Links=Links, Rechts=Rechts.
Schritt 9: Fazit
Roboter ist einsatzbereit. Dabble bietet noch viele weitere Module (z. B. Sensoren, IoT, Kamera).
Code
robot.ino
/* Arduino 4-Rad Roboter Steuerung per Dabble App (Gamepad Digital Mode)
* HC-05 Bluetooth: Tx -> Pin 2, Rx -> Pin 3
* Für Arduino UNO: Bluetooth Baudrate <= 38400
* Geschrieben von Punit Chotaliya, STEMpedia, 16.01.2019
*/
#define CUSTOM_SETTINGS
#define INCLUDE_GAMEPAD_MODULE
#include
#define motor1_en 10
#define motor2_en 11
#define motor1_dir1 4
#define motor1_dir2 5
#define motor2_dir1 6
#define motor2_dir2 7
void setup() {
Serial.begin(9600);
Dabble.begin(38400);
for (unsigned int i = 4; i < 8; i++) {
pinMode(i, OUTPUT);
}
pinMode(motor1_en, OUTPUT);
pinMode(motor2_en, OUTPUT);
}
void loop() {
Dabble.processInput();
if (GamePad.isUpPressed()) {
Serial.print("UP");
forward();
} else if (GamePad.isDownPressed()) {
Serial.print("DOWN");
backward();
} else if (GamePad.isLeftPressed()) {
Serial.print("Left");
left();
} else if (GamePad.isRightPressed()) {
Serial.print("Right");
right();
} else {
Serial.println("stop");
Stop();
}
}
void forward() {
analogWrite(motor1_en, 255);
analogWrite(motor2_en, 255);
digitalWrite(motor1_dir1, HIGH);
digitalWrite(motor1_dir2, LOW);
digitalWrite(motor2_dir1, HIGH);
digitalWrite(motor2_dir2, LOW);
}
void backward() {
analogWrite(motor1_en, 255);
analogWrite(motor2_en, 255);
digitalWrite(motor1_dir1, LOW);
digitalWrite(motor1_dir2, HIGH);
digitalWrite(motor2_dir1, LOW);
digitalWrite(motor2_dir2, HIGH);
}
void left() {
analogWrite(motor1_en, 255);
analogWrite(motor2_en, 255);
digitalWrite(motor1_dir1, LOW);
digitalWrite(motor1_dir2, HIGH);
digitalWrite(motor2_dir1, HIGH);
digitalWrite(motor2_dir2, LOW);
}
void right() {
analogWrite(motor1_en, 255);
analogWrite(motor2_en, 255);
digitalWrite(motor1_dir1, HIGH);
digitalWrite(motor1_dir2, LOW);
digitalWrite(motor2_dir1, LOW);
digitalWrite(motor2_dir2, HIGH);
}
void Stop() {
analogWrite(motor1_en, 0);
analogWrite(motor2_en, 0);
digitalWrite(motor1_dir1, LOW);
digitalWrite(motor1_dir2, LOW);
digitalWrite(motor2_dir1, LOW);
digitalWrite(motor2_dir2, LOW);
}
evive Library
Nur als Download verfügbar (C/C++).
Schaltplan
Verkabelungsbild im Projekt enthalten.
Herstellungsprozess
- Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
- Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
- WLAN-gesteuerter Raspberry Pi Roboter mit Python bauen – Schritt-für-Schritt
- LED-Helligkeit per PWM und Taster am Arduino Mega steuern
- Android-gesteuertes Roboterfahrzeug mit Raspberry Pi Motor Shield
- Servogesteuerter Hindernisvermeidungs-Roboter: Bauen mit Arduino & HC-SR04
- Autonomer Linienfolger-Roboter mit Arduino UNO
- Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
- Sprachgesteuerter Roboter mit Arduino Nano bauen
- MobBob: Eigenen Arduino-Roboter bauen, per Android-Smartphone steuern