Interaktives Servo-Motor-Projekt mit Arduino und HC-SR04-Sensoren
Komponenten und Zubehör
| Arduino UNO | × | 1 |
| Adafruit 16-Kanal PWM Servo-Motor-Controller | × | 3 |
| SG90 Mikro-Servomotor | × | 36 |
| 5 Volt 30 Watt Schaltnetzteil | × | 1 |
| Servo-Motor-Kabelverlängerungen | × | 1 |
| 24 × 48 Zoll Lochplatte (Pegboard) | × | 1 |
| Eisstäbchen, auf 8,25 cm zugeschnitten | × | 36 |
| Ultraschallsensor HC-SR04 (Generic) (optional – nur für Interaktivität nötig) | × | 5 |
Benötigte Werkzeuge und Maschinen
- Lötkolben (Standard)
- Heißklebepistole (Standard)
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt
Das Video unten zeigt 36 Servomotoren, die ein elektronisches Kunstwerk erschaffen. Im Hintergrund arbeiten ein Arduino Uno und drei 16-Kanal-PWM-Servo-Controller. Die ursprüngliche Inspiration war eine viel größere Installation mit 450 Servos in einem modernen Kunstmuseum – doch auch diese kleinere Version mit 36 Servos erzeugt faszinierende Effekte.
Eine optionale Funktion, die im Video nicht gezeigt wird, macht die Anzeige interaktiv: Fünf Ultraschall-Entfernungssensoren werden an der oberen Rückseite montiert. Wenn man die Hand über den mittleren Sensor hält, wechselt der Uno in den interaktiven Modus, und alle Servos folgen der Handbewegung über den Sensoren. Wird die Hand einige Sekunden entfernt, kehrt das Programm zur normalen Show zurück. Diese Option ist rein freiwillig – die Software funktioniert auch ohne sie einwandfrei.
Hardware
Das Projekt wurde auf einer 24 × 48 Zoll großen Lochplatte (auf 32 Zoll Breite zugeschnitten) aufgebaut. Die Servos sind im Abstand von 4 Zoll (ca. 10 cm) mit Heißkleber auf der Rückseite befestigt. Eisstäbchen (8,25 cm lang) werden ebenfalls mit Heißkleber an den Servowellen angebracht.
Die SG90-Servos sind der kostspieligste Teil. Ein 8er-Set kostet ca. 20 € (Amazon), also ca. 100 € für 36 Stück. Zwar sind SG90s als 180°-Servos spezifiziert, doch viele erreichen das nicht ganz. Einige fallen deutlich ab und sollten aussortiert werden. Kauft man 5 Sets (40 Servos), lassen sich meist 36 gute Exemplare mit mindestens 160° Hub finden.
Die Servos müssen auf ihre Minimalposition (PWM 150) eingestellt werden, wobei die Eisstäbchen in dieser Stellung horizontal nach rechts zeigen (von vorne betrachtet). Ein kleines Testprogramm (SetServosToMinimum) hilft dabei, alle Servos korrekt auszurichten.
Die optionalen Ultraschallsensoren sind entlang der oberen Kante montiert (Heißkleber + Eisstäbchen). Die kleine Lochrasterplatine unter dem Uno verteilt Strom und Masse an alle Sensoren.
Software
Verwendet wird die Adafruit PWM Servo Driver Library für die 16-Kanal-Controller (über Arduino Library Manager oder GitHub installierbar). Die Software läuft wahlweise mit oder ohne Ultraschallsensoren und zeigt eine ca. 3-minütige Show mit verschiedenen Effekten, die sich dann wiederholt. Bei installierten Sensoren wird der interaktive Modus aktiv, sobald eine Hand über dem mittleren Sensor erkannt wird.
Kern der Steuerung sind zwei Tabellen: curPos (aktuelle Servoposition ÷ 3) und tarPos (Zielposition ÷ 3). Die Division durch 3 erlaubt die Speicherung in einem Byte und entspricht der Schrittweite von 3 PWM-Einheiten.
Im setup() werden alle Servos auf eine vertikale Referenzposition gefahren und beide Tabellen entsprechend initialisiert. Danach werden Bewegungen durch Ändern der tarPos-Werte ausgelöst.
Die Hauptroutine goToTargets() bewegt die Servos in 15er-Schritten auf ihre Ziele zu. Zwei Parameter steuern die Geschwindigkeit: reps (Vielfache von 15 Schritten) und mydelay (zusätzliche Wartezeit in ms pro Aufruf).
Der optionale interaktive Modus wird durch trackRoutine realisiert. Sie wird aufgerufen, wenn goToTargets() ein Objekt über dem mittleren Sensor detektiert. Die Routine lässt alle Servos der Handbewegung folgen und kehrt nach einigen Sekunden ohne Erkennung zur normalen Show zurück.
Code
ServosArt Software für Arduino Uno
Keine Vorschau verfügbar – nur Download.
Schaltpläne
Verbindung von Arduino Uno und Servos über drei 16-Kanal-Controller:
Anschluss von 5 Ultraschallsensoren für die Handverfolgung:
Herstellungsprozess
- Raspoulette: Solar-betriebenes autonomes Hühnerklappen-System Prototyp
- Simple Pi Robot: 2-WD Autonomer Rover mit Raspberry Pi bauen
- Professionelle Fanuc-Servomotor-Reparaturservices
- Professionelle Siemens Servomotor Reparatur – Schneller, zuverlässiger Service
- Expertenleitfaden: Servomotor Reparatur & Fehlersuchtipps
- MOSMusic: Musik-synchronisierte Lichtsteuerung mit CoolMOS MOSFET & Arduino
- Linearmotoren verstehen: Von elektrischer Energie zur präzisen Linearbewegung
- Warum Planetengetriebe die Servomotor-Leistung verbessern
- Servopressen: Funktionsprinzip, Bauarten & Vorteile gegenüber Hydraulik/Exzenter
- Servomotoren: Funktionsweise und Bedeutung