🔍

Moving Paper Fortune Teller

….oder auch als Himmel oder Hölle bekannt. Servo Motoren kombiniert mit 3D Druck und Arduino lassen eure Papierfalt-Kunst zum Leben erwachen.

Du brauchst:

Arduino (Mega, Uno, Leonardo…), PCA9685 PWM Servo Driver, Servo, Netzteil

3D Druck-Datei:

Gibts hier – https://www.thingiverse.com/thing:18339 (Löcher für die Befestigung müsst ihr nur noch ergänzen)

Schaltplan:

Die Servos werden auf den PWM Treiber Boards an den jeweiligen Steckplätzen ergänzt.

Falls ihr mehrere PWM Treiber nutzen möchtet empfehle ich folgende Anleitung:

Viele Servos mit Arduino steuern

Code Beispiel:


#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

// called this way, it uses the default address 0x40
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x41);
Adafruit_PWMServoDriver pwm2 = Adafruit_PWMServoDriver(0x42);

// our servo # counter
uint8_t servonum = 0;


void setup() {
// Serial.begin(9600);
Serial.println("16 channel Servo test!");
pwm.begin();
pwm.setPWMFreq(50); // Analog servos run at ~60 Hz updates
pwm1.begin();
pwm1.setPWMFreq(50); // Analog servos run at ~60 Hz updates
pwm2.begin();
pwm2.setPWMFreq(50); // Analog servos run at ~60 Hz updates



}

void loop() {

//Öffnet und schließt die Himmel oder Hölle Spiele der Reihe nach.

pwm1.setPWM(servonum, 0, 322); //geschlossen
delay(100);

pwm1.setPWM(servonum, 0, 270);//offen

delay(100);

pwm.setPWM(servonum, 0, 322); //geschlossen
delay(100);

pwm.setPWM(servonum, 0, 270);//offen

delay(100);

pwm2.setPWM(servonum, 0, 322); //geschlossen
delay(100);

pwm2.setPWM(servonum, 0, 270);//offen

delay(100);

}

//zählt hoch und fängt wieder von vorn an
servonum ++;
if (servonum > 15) servonum = 0;

}

 

 

Installation – Himmel