Sketch Kerzenlicht - Modellbahn-Digitaltechnik

Sketch Kerzenlicht

Dieser Sketch lässt die LEDs mit PMW-Ausgang leuchten und flackern wie echte Kerzen, z.B. auf einem Friedhof als „ewiges Licht“ oder auf einem Weihnachtsbaum mit orangenen Kerzen. Hier erstmal der Sketch in Version 1 unter Nutzung der PMW-Ausgänge, Version 2 nutzt Soft-PMW und damit ALLE Ausgänge des Arduinos:

Version 1:

// Arduino Code für Kerzenschein Simulation mit 6 PWM Ausgängen 
// Martin Fitzel - www.modellbahn-digitaltechnik.de


int ledPin1 = 3;                  // LED Ausgang bestimmen
int ledPin2 = 5;
int ledPin3 = 9;
int ledPin4 = 11;
int ledPin5 = 6;
int ledPin6 = 10;
int val = 0;                     // variable LED Helligkeit
int delayval = 0;                // variable LED Wartezeit

void setup() {
  randomSeed(0);                // Zufallszahlengenerator
  pinMode(ledPin1, OUTPUT);     // LED als Ausgang setzen
  pinMode(ledPin2, OUTPUT);  
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  pinMode(ledPin5, OUTPUT);
  pinMode(ledPin6, OUTPUT);
}

void loop() {
  val = random(125,255);       // Zufallszahl zwischen 125 und 255. 0 = LED aus, 255 = LED maximale Helligkeit.
  analogWrite(ledPin1, val);    // Setzt das PWM Signal auf die Zufallszahl 
   val = random(125,255);       
  analogWrite(ledPin2, val);    
   val = random(90,255);       
  analogWrite(ledPin3, val);    
   val = random(90,255);       
  analogWrite(ledPin4, val);    
   val = random(90,255);       
  analogWrite(ledPin5, val);    
   val = random(90,255);       
  analogWrite(ledPin6, val);        
  
  delayval = random(200,500);   // Zufallszahl zwischen 200 und 500. 100 = schnell, 800 = langsam.
  delay(delayval);             // Setze die Wartezeit auf die Zufallszahl 
}