Arduino Tutorial Lesemodus schließen

Arduino Halloween Kürbis mit beweglichen Augen

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

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
 }