WALTER: Ein Arduino-gesteuerter Photovore-Insektenroboter
Komponenten und Materialien
- 1× SparkFun Arduino Pro Mini 328 – 5 V/16 MHz
- 3× Ultraschallsensor HC-SR04
- 4× Photodiode
- 4× Widerstand 100 kΩ
- 5× MG90S Metallgetriebe-Mikroservo
- 1× Powerbank (2 Kanäle: 1 A, 2,1 A)
Benötigte Werkzeuge
- Lötkolben
- Heißklebepistole
Software
- Arduino IDE
Über das Projekt
Ich war schon immer fasziniert von den populären 2-Servo-Arduino-Insekten auf YouTube, aber die BEAM-Robotik-Pioniere wie Mark Tilden erreichten mit analogen Schaltungen (Microcore/Bicore) natürlichere Gangarten. Tildens VBug1.5 (Walkman) nutzt 5 Motoren für hohe Manövrierfähigkeit – ein Vorbild für WALTER, meinen 4-beinigen Arduino-Roboter mit 5 Servos.
Warum nur 5 Servos? Ich wollte maximale Beweglichkeit bei minimalem Bauaufwand – viel Heißkleber statt aufwendiger Frames.
Verhalten
- Hindernisvermeidung: 3× HC-SR04 (vorne, links, rechts)
- Photovorie (Lichtsuche): 4 Photodioden (vorne links/rechts, hinten links/rechts)
- Zufälliges Verhalten: Pausen (Ruhephasen), zufällige Ganggeschwindigkeiten (3 Stufen)
Taktile Fußsensoren waren geplant, aber das Gewicht der Powerbank verhinderte zuverlässiges Auslösen. Version 2 soll größere Servos und Bodensensoren erhalten.
Hardware-Details
- Servos: Welle (horizontal), vorne links/rechts, hinten links/rechts
- Ultraschall: Trigger/Echo an Pins 13/12, 11/10, 8/7
- Photodioden: Analoge Eingänge A2, A3, A1, A0
- Stromversorgung: Powerbank über MKR-Formfaktor
Code: WALTER.ino
Der Sketch ist umfangreich und modulär aufgebaut. Wichtige Bereiche:
- Servo-Kalibrierung: Mittelstellungen (Mikrosekunden) für jeden Servo einstellbar (
ANGLE_mid_*) - Gangsteuerung: Zentrale
SHAFT()-Funktion für horizontale Welle,WALK()für Beinbewegung,ROTATE()für Drehungen - Sensorverarbeitung:
SONAR_READ_ALL()liest alle 3 Ultraschallsensoren,LIGHT_COMPARE_EXECUTE()vergleicht Photodiodenwerte für Lichtnavigation - Verhaltenslogik:
FORWARD(),RETREAT(),ROTATE_LEFT_AVOID()etc. reagieren auf Sensorwerte - Zufall:
randomSeed(analogRead(5))für Pausen, Geschwindigkeiten, Drehrichtungen
Der Code nutzt writeMicroseconds() für präzise Servoansteuerung und Zustandsmaschinen für flüssige Übergänge zwischen Gangarten. Alle kritischen Parameter (Schrittweite, Drehwinkel, Schwellenwerte) sind als Konstanten am Anfang definiert und kommentiert.
Schaltplan

Der Aufbau ist kompakt: Arduino Pro Mini, 5 Servos, 3 Ultraschallsensoren und 4 Photodioden teilen sich die Pins. Die Powerbank versorgt alles über 5 V.
Herstellungsprozess
- Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
- Arduino Iron Man bauen: Komponenten, Sensoren & Schritt-für-Schritt-Anleitung
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- Funktionaler 3D-gedruckter Roboterarm mit Arduino – Schritt-für-Schritt-Anleitung
- Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
- DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
- NeoPixel-Matrix Pong auf Arduino Nano: Neon-Pong selbst bauen
- DIY Arduino Lenkrad / Joystick für Rennspiele – USB-HID-Umbau
- Leistungsstarker FM-Radio-Empfänger mit Arduino & TEA5767
- Health Band: Smarter Wearable-Assistent für Senioren