Ich habe mir einen schmalen Bahnsteig gebaut. Dieser sollte Lampen erhalten, die beim Einschalten das typische Flackern von alten Leuchtstofflampen hatten.

Da dieser Effekt hauptsächlich für Besucher gedacht ist, habe ich den Einschaltvorgang in die Länge gezogen. Das Ganze ist ein Arduino-Projekt.

Das Programm startet erstmal nach ca, 20 Minuten. Dann beginnt das Flackern um dann 30 Minuten konstant zu leuchten. Danach wiederholt sich der Vorgang.

 

 


Hier ist der entsprechende Sketch:

 

const int PIN  = 1;

const int SHORT_DELAY = 50;

const int MIDDLE_DELAY = 400;

const int LONG_DELAY = 900;

const int PAUSE = 1000;

 

void setup() {

  pinMode(PIN7, OUTPUT);

  pinMode(PIN2, OUTPUT);

  pinMode(PIN3, OUTPUT);

  pinMode(PIN4, OUTPUT);

  pinMode(PIN5, OUTPUT);

  pinMode(PIN6, OUTPUT);

 

}

void aus() {

 

digitalWrite(PIN2, LOW);

digitalWrite(PIN3, LOW);

digitalWrite(PIN4, LOW);

digitalWrite(PIN5, LOW);

digitalWrite(PIN6, LOW);

digitalWrite(PIN7, LOW);

 

delay(1000000);

}

 

void aus2(){

  for (int zaehler=1; zaehler<409000; zaehler = zaehler+1){

    digitalWrite(PIN5, LOW);

    delay(209000);

    digitalWrite(PIN6, LOW);

    delay(209000);

  }

  delay(2000);

}



void loop() {

 

if (millis() % 100000 > 50000) {

    digitalWrite(PIN3, LOW);

  } else {

    digitalWrite(PIN4, LOW);

  }




  kurz();

  kurz();

  kurz();

 

  lang();

  lang();

  lang();

 

  kurz();

  kurz();

  kurz();

 

  mittel();

  mittel();



  delay(930000);

}

void mittel() {

  digitalWrite(PIN5, HIGH);

  delay(MIDDLE_DELAY);

  digitalWrite(PIN5, LOW);

 

  digitalWrite(PIN7, HIGH);

  delay(MIDDLE_DELAY);

  digitalWrite(PIN7, LOW);

 

  digitalWrite(PIN2, HIGH);

  delay(MIDDLE_DELAY);

  digitalWrite(PIN2, LOW);

 

  digitalWrite(PIN2, HIGH);

  delay(MIDDLE_DELAY);

  digitalWrite(PIN2, LOW);

 

  digitalWrite(PIN4, HIGH);

  delay(MIDDLE_DELAY);

  digitalWrite(PIN4, LOW);

 

  delay(PAUSE);

}


void lang() {

  digitalWrite(PIN5, HIGH);

  delay(LONG_DELAY);

  digitalWrite(PIN5, LOW);

 

digitalWrite(PIN2, HIGH);

  delay(LONG_DELAY);

  digitalWrite(PIN2, LOW);

 

  digitalWrite(PIN7, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN7, LOW);

 

  digitalWrite(PIN6, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN6, LOW);

 

  digitalWrite(PIN7, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN7, LOW);

  delay(PAUSE);

 

}

 

void kurz() {

  digitalWrite(PIN3, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN3, LOW);

 

  digitalWrite(PIN6, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN6, LOW);

 

digitalWrite(PIN4, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN4, LOW);

 

digitalWrite(PIN2, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN2, LOW);

 

digitalWrite(PIN5, HIGH);

  delay(SHORT_DELAY);

  digitalWrite(PIN5, LOW);



  delay(PAUSE);

}

 

 


Die  6 LEDs komen an den Arduino Nano an Pin 2,3,4,5,6,7 natürlich mit den steprechenden Vorwiderständen. Ich habe 560Ohm benutzt.

 

 

 

 

Erstelle deine eigene Website mit Webador