Bluetooth-gesteuerter Arduino-Spybot bauen – Überwachungsroboter mit IP-Kamera
Komponenten & Zubehör
| Bauteil | Anzahl | Hinweise |
|---|---|---|
| Arduino UNO | 1 | |
| HC-06 Bluetooth-Modul | 1 | Seriell (UART) |
| Arduino Proto Shield | 1 | Oder beliebige löchbare Lochrasterplatine mit Pinheadern |
| Adafruit Motor/Stepper/Servo Shield V2 | 1 | Für 4 DC-Motoren + Servo |
| SM-S4306R Dauerlaufservo (Continuous Rotation) | 1 | Für Kameraschwenk |
| DC-Motoren (generisch) | 4 | Mit Getriebe |
| Reifen für DC-Motoren | 4 | |
| Steckbrücken (Jumper Wires) | 8 | Für Motoren |
| 4×AA-Batteriehalter | 2 | Zu 8×AA zusammengefügt |
| AA-Akkus (NiMH) | 8 | Wiederaufladbar empfohlen |
| Smartphone | 1 | Als IP-Kamera (z. B. Nokia Lumia 520 + Win IP Camera App) |
| Smartphone-Halterung | 1 | Am Servo befestigt |
| Eigenbau-Chassis | 1 | Holzbrett oder gekauftes Robot-Chassis |
Software & Bibliotheken
- Node.js Webserver (Express.js)
- Johnny-Five (JavaScript Robotics & IoT Platform)
- Socket.IO (WebSockets für Frontend-Backend-Kommunikation)
- Frontend: Susy (Responsive Layout), Google Material Design, Gulp.js, BabelJS (ES6 Transpiler), Browserify (Modul-Support)
Projektbeschreibung
Dieser vierrädrige Roboter wird per Bluetooth vom Computer/Smartphone gesteuert. Er trägt ein Smartphone als IP-Kamera, sodass der Bediener die Umgebung live sehen kann. Die Steuerung erfolgt über eine selbstgeschriebene Node.js-Webanwendung mit Tastatursteuerung (Pfeiltasten für Fahrt, zusätzliche Tasten für Kameraschwenk).
Chassis-Bau
Das Chassis wurde selbst aus Holz gefertigt. Wichtig bei Differentiallenkung (Skid Steering): Die Räder sollten so nah wie möglich beieinander stehen, um das Drehen auf der Stelle zu ermöglichen. Die Motoren wurden mit Kabelbindern (150×3,5 mm) am Chassis befestigt – zwei pro Motor für sicheren Halt. Präzises Bohren der Radachsen ist entscheidend, damit der Roboter geradeaus fährt.
Stromversorgung
Zwei 4×AA-Halter wurden verschraubt zu einem 8×AA-Pack (ca. 9,6 V NiMH). Der Arduino wird direkt davon gespeist. Das Adafruit Motor Shield V2 hat einen Jumper zur Trennung der Motorstromversorgung vom Arduino; so können die Motoren separat über die Power-Pins des Shields versorgt werden.
Bluetooth-Kommunikation
Das HC-06-Modul wurde auf einem Proto Shield verlötet (Pinheader für einfaches Abnehmen). Verdrahtung: HC-06 TX → Arduino RX (Pin 0), HC-06 RX → Arduino TX (Pin 1) über Spannungsteiler (3,3 V Logik), VCC → 5 V, GND → GND. Einrichtung gemäß Johnny-Five Wiki.
Bewegung & Kamera
- Fahrt: Vorwärts, Rückwärts, Kurven über Differentiallenkung (links/rechts unterschiedliche Radgeschwindigkeiten).
- Kamera: Das Smartphone sitzt auf dem Dauerlaufservo → Schwenk links/rechts ohne Fahrbewegung.
Code-Struktur (Modular)
Backend (Node.js / Johnny-Five)
// entry point: app.js
const boardModule = require('./src/boardModule');
const servoModule = require('./src/servoModule');
const motorModule = require('./src/motorModule');
boardModule.initBoard().then(() => {
motorModule.initMotors();
servoModule.initServo();
});
Jedes Modul kapselt die Johnny-Five-Logik für Board, Motoren (Motor Shield V2) und Servo.
Frontend (Browser / ES6 Module)
// main.js
import {moveWheels, stopWheels} from './wheelsControl';
import {moveServo, stopServo} from './servoControl';
document.onkeydown = checkKeyDown;
document.onkeyup = checkKeyUp;
function checkKeyDown(e) {
moveWheels(e.keyCode);
moveServo(e.keyCode);
}
function checkKeyUp(e) {
stopWheels(e.keyCode);
stopServo(e.keyCode);
}
Tastenbelegung (Beispiel): Pfeiltasten = Fahrt, Umschalt+Pfeiltasten = Kameraschwenk. Die WebSocket-Verbindung (Socket.IO) sendet Befehle an den Node-Server, der sie an Johnny-Five weiterreicht.
Quellcode & Repository
Vollständiger Code (Frontend + Backend) auf GitHub:
https://github.com/dominikfilkus/arduino-spybot-V2
Fazit & Ausblick
Erstes IoT-Projekt des Autors – funktionsfähig, aber verbesserungswürdig: 3D-gedrucktes Chassis, bessere Motorhalterung, autonomes Fahren (Ultraschall/IR), Kamera-Stabilisierung, Akku-Management.
Schaltplan
Fritzing-Datei: arduino-spybot.fzz (im Repository).
Herstellungsprozess
- Professionelle Bitmap-Animation auf dem ILI9341 2,4″ TFT Touchscreen Shield mit Visuino
- Web-gesteuertes DMX-Lichtsystem – Arduino Master Controller
- FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
- DIY Arduino TV-B-Gone: Universelle TV-Aus-Fernbedienung
- Einen eigenen LED-Master-Clock mit Alarm bauen – aus 12 Metern Entfernung ablesbar
- HSV-Uhr: Lebendige, anpassbare Zeitanzeige für Arduino-Enthusiasten
- Android-gesteuertes Roboterfahrzeug mit Raspberry Pi Motor Shield
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- Optimierte Stromversorgungslösungen für Arduino-Projekte
- Arduino Tic Tac Toe mit MAX7219 LED-Matrix und Karton-Gehäuse