Bei uns wird auf der Modellbahn ein Feuerspucker zu finden sein, der auf Knopfdruck seine Kunst zeigt. Schaltung und Sketch befinden sich derzeit noch in der Plaung/Entwicklung/Testphase.
Für den Ablauf braucht man eine Bibliothek, nämlich SoftPWM. Diese Bibliothek muss installiert werden auf dem lokalen Arduino System.
#include <SoftPWM.h>
int helligkeit, pin, pin2,pin3,pin4,pin5,pin6,pin7,pin8,pin9, geschwindigkeit = 200;
int Zufallszahl;
int x;
void setup() {
SoftPWMBegin(SOFTPWM_NORMAL);
SoftPWMSet(0, 0); // RX-Pin auf 0 setzen (LED0 aus)
SoftPWMSet(1, 0); // TX-Pin auf 0 setzen (LED0 aus)
delay(1000);
}
void loop() {
x = 0;
for (pin = 0; pin < 52; pin++) {
SoftPWMSet(pin, 255); // Setzt den Pin auf 255
delay(15); // Wartet
x++;
if (x > 20) { //Nachfolgende Pins werden auf 70% Helligkeit gedimmt
SoftPWMSet(pin2, 70);
pin2++;
}
if (x > 21) {
SoftPWMSet(pin3, 60);
pin3++;
}
if (x > 22) {
SoftPWMSet(pin4, 50);
pin4++;
}
if (x > 23) {
SoftPWMSet(pin5, 40);
pin5++;
}
if (x > 24) {
SoftPWMSet(pin6, 30);
pin6++;
}
if (x > 25) {
SoftPWMSet(pin7, 20);
pin7++;
}
if (x > 26) {
SoftPWMSet(pin8, 10);
pin8++;
}
if (x > 27) {
SoftPWMSet(pin9, 0);
pin9++;
}
if (pin == 51) {
pin2 = 0;
pin3 = 0;
pin4 = 0;
pin5 = 0;
pin6 = 0;
pin7 = 0;
pin8 = 0;
pin9 = 0;
}
}
//Zufallszahl berechnen
Zufallszahl = random(500, 10000); //Von x bis y
// Serial.print (Zufallszahl);
delay(Zufallszahl); //Wartezeit bis neuer Durchgang (Knopf oder Zufall)
// Serial.println ();
}