Tragbares Überwachungs-Roboter-System mit Raspberry Pi & Android-App
Komponenten
| Bauteil | Menge |
|---|---|
| Arduino Pro Mini 328 – 5 V / 16 MHz | 1 |
| 2× DC-Getriebemotor mit Rad & Halter | 1 |
| SparkFun Dual H-Bridge L298 | 1 |
| Raspberry Pi 3 Model B | 1 |
| Raspberry Pi Camera Module | 1 |
| 2× Infrarot-Hindernissensor | 1 |
| NPN-Transistor (für Scheinwerfer) | 1 |
| L7805CV 5 V Regler | 1 |
| 3,3 V Regler (Pi ↔ Arduino Pegelwandler) | 1 |
| 2S 1300 mAh LiPo (XT60) + 5 V Powerbank | 1 |
| Plexiglas / Kunststoffplatten, Schrauben, Distanzbolzen | 1 Satz |
Werkzeuge
- FTDI-Adapter (FT232RL) zum Flashen des Pro Mini
- Arduino IDE
- Bohrmaschine, Feinsäge, Schraubendreher, Lötkolben, Seitenschneider
Projektüberblick
Ein fahrbarer Roboter mit Kamera, der per Android-App über WLAN ferngesteuert wird. Die Steuerkette: App → MQTT (Mosquitto) → Docker-Container (Python) auf Pi → Serial → Arduino → Motoren/Licht. Sensoren (IR vorne/hinten) senden Distanzen zurück.
Mechanik (Chassis)
- Bodenplatte 18×13 cm: Motoren, H-Bridge (unterseite), hinten 2 Lenkrollen (360°).
- Obere Platte (L-Form): Abdeckung, Scheinwerferhalterung, Pi-Gehäuse mit Kamera.
- Verbindung über 6 cm Distanzbolzen.
Elektronik (PCB, Eigenbau)
Pinbelegung Arduino Pro Mini:
- D3 – Scheinwerfer (via Transistor)
- D5 (PWM), A4, A5 – linker Motor
- D6 (PWM), A3, A2 – rechter Motor
- A0 – IR vorne, A1 – IR hinten
- D11 (TX), D10 (RX) – Kommunikation Pi (3,3 V Pegelwandler!)
Aufbau: Lochrasterplatine mit Steckverbindern für alle Module, Spannungsregler (5 V für Arduino/Motoren, 3,3 V für Pi-TX), LiPo-Schalter, USB-Netzteil für Pi.
Arduino-Firmware
Empfängt Text-Kommandos per Serial:
M:-25:16; → Links -25, Power 16 → linker Motor 17 %, rechter 32 %, vorwärts.
L:1; / L:0; → Licht an/aus.
Sendet alle 500 ms Distanzen: F=3:B=0; (0–10 skaliert).
// Bibliothek: TextMotorCommandsInterpretter (GitHub)
#include <SoftwareSerial.h>
#include <TextMotorCommandsInterpretter.h>
// ... Pin-Definitionen, Setup, Loop ...
// Verarbeitet Kommandos, setzt PWM, liest IR-Sensoren, sendet Daten.
Vollständiger Code: GitHub
Raspberry Pi Software-Stack
- uv4l – MJPEG-Stream der Pi-Cam auf Port 9090.
- Docker + docker-compose – zwei Container:
mosquitto(MQTT Broker, Port 1883) undpython-server(Serial ↔ MQTT Bridge). - systemd – Dienste
robot-camera.service(Python) &robot-camera-video.service(uv4l) auto-start.
Android-App
- WebView zeigt uv4l-Stream.
- Steuerung: Joystick (Lenkrad) + Licht-Button.
- MQTT-Verbindung zu Pi (Port 1883), Anzeige: Hindernis-Pfeile, Verbindungsstatus.
- Build: Android Studio,
passwords.xmlfür MQTT/Stream-Credentials.
Inbetriebnahme & Debugging
- Arduino per FTDI flashen, manuell per Serial testen (Bluetooth/Terminal).
- Pi: Raspbian + Kamera + SSH. Git-Repo klonen (
/home/pi/robot-camera-platform). Serial Console deaktivieren. - uv4l installieren (
sh uv4l/install.sh),start.shanpassen (Passwort, Port, Auflösung). - Docker & docker-compose installieren (Pi-Blog Anleitung).
docker-compose up→ Container laufen. systemd Services aktivieren & reboot.- App bauen, Credentials eintragen, starten. „Connected“ oben rechts?
Erweiterung: Farbverfolgung
Python-Skript object_tracking.py (OpenCV, HSV-Schwellwert) erkennt farbiges Objekt & steuert Roboter autonom. Dependencies via pip3 install -r requirements.txt.
Code-Repositories
- Arduino, Python, Docker, systemd: robot-camera-platform
- Android-App: android-robot-camera
Schaltplan & PCB
Fritzing-Datei sketch_nWf7cZeUWL.fzz im Haupt-Repo.
Herstellungsprozess
- Entwicklung und Design moderner Kameras
- Kameraobjektive verstehen: Design, Geschichte und zukünftige Innovationen
- MrRobot: Ubuntu-Mobile-gesteuerter Rapiro-Roboter mit Sprache, Touch & Schüttel-Interaktion
- Roomberry: Roomba-Überwachungsroboter mit Raspberry Pi Zero W bauen
- Bluetooth-gesteuerter Arduino Motorisierter Kameraschlitten für kinematische Aufnahmen
- Interaktives Gyroskop-LED-Display mit NeoPixel-Ring & Arduino
- Universelle Android-Fernbedienung mit Arduino, 1Sheeld & IR-Steuerung
- DIY Arduino USB Gaming Controller – Bauen Sie Ihren eigenen High-Performance Gamepad
- Pixie: DIY NeoPixel-Armbanduhr mit Arduino Pro Mini – Schick & Selbstgebaut
- Spracherkennung & Sprachsynthese auf Arduino Due meistern