Eine schöne Idee für einen gruseligen Arduino Halloween Kürbis hat uns 68percentwater in seinem Youtube-Video vorgestellt. Eine gute Gelegenheit, sich mal anzusehen, wie man das nachbauen könnte.
Mechanik
Die vorgestellte Mechanik ist so einfach wie genial. Ein Servomotor bewegt per Schubstange ein Holzstab, der an ein Kunststoffauge geklebt ist. Dieses ist an einem PCV-Rohr drehbar befestigt. Betätigt man den Servo, guckt das Auge umher.
Mit einem DN50 PVC-Rohr aus dem Baumarkt und ein paar Tischtennisbällen sollten sich also eine Menge dieser Augen realisieren lassen. Holzstab und Scharnier für das Auge lassen sich aus Schaschlikstäbchen realisieren, die per Heißkleber fixiert werden. Die Schubstange vom Servo zum Holzstab kannst du mit einer Büroklammer herstellen. Der Servo wird einfach an das PCV-Rohr geklebt. Beim Einbringen in den Kürbis musst du nur darauf achten, das Außenloch nicht zu groß zu bohren. Bei einem Tischtennisball wären 40mm gut.
Elektronik für den Arduino Halloween Kürbis
Um viele Servos mit Arduino zu steuern, macht es Sinn, einen Servomotor-Treiber zwischenzuschalten. Dieser wird vom Arduino per I2C-Schnittstelle angesprochen und verteilt den Strom eines externen Netzteils zuverlässig an bis zu 16 Servos.
In der Grafik kannst du sehen, wie der Servomotor-Treiber angeschlossen wird.
Bauteile
- Tischtennisbälle oder Plastikaugen
- PVC-Rohr DN50 (50mm)
- Heißkleber
- Servos
- Servo-Controller (Nachbau vom Adafruit PCA9685)
- Netzteil
- Arduino UNO
Programm-Code
In Vorbereitung muss die Adafruit PWM Bibliothek installiert werden. Klicke dazu auf Sketch>Bibliothek einbinden>Bibliothek verwalten. Suche im Textfeld nach Adafruit PWM und installiere die Adafruit PWM Servo Driver Library in der aktuellen Version.
Achtung!! Bevor du das Programm überträgst, entkoppel die Schubstangen und lass die Servos erstmal frei laufen. Stelle dann den Ausschlag mit den Variablen SERVOMIN und SERVOMAX ein.
Code
#include <Wire.h> #include <Adafruit_PWMServoDriver.h> Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); #define SERVOMIN 150 // Kleinster Servoausschlag – unbedingt ohne Schubstange ausprobieren!!! #define SERVOMAX 600 // Größter Servoausschlag – unbedingt ohne Schubstange ausprobieren!!! uint8_t servonum = 0; void setup() { Serial.begin(9600); Serial.println("8 channel Servo test!"); pwm.begin(); pwm.setPWMFreq(60); delay(10); } void loop() { Serial.println(servonum); pwm.setPWM(random(16), 0, random(SERVOMIN,SERVOMAX)); delay(20); // mit diesem Wert kannst Du experimentieren }
Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs