Arduino – LEDs blinken lassen

In diesem Beitrag zeige ich, wie einfach es ist, mehrere LEDs blinken zu lassen.

Benötigte Komponenten

  • 3 x LEDs – Farbe egal
  • 3 x 220Ohm Widerstände (Gegebenenfalls selbst berechnen)
  • 1 Arduino
  • ein paar Kabel
  • 1 Steckbrett

Um die Helligkeit von LEDs steuern zu können, müssen diese mit den analogen PWM Pins am Arduino verbunden werden.

Steckbrett

Steckplatine - Blink-LEDs

Arduino Sketch

/**************************************************
* Autor: Enrico Sadlowski                          *
* November 2012                                    *
* Beschreibung                                     *
* Sketch zum steuern der Helligkeit mehrerer LEDs  *
***************************************************/

const int ledCount   = 3;         // Anzahl der angeschlossenen LEDs
const int ledPin[]   = { 3,5,6 }; // Array mit den Pins an denen die LEDs angeschlossen sind
const int delaytime  = 5;         // Blinkfrequenz

int brightness = 0; 
int increment  = 1;

void setup()
{
  // Pins die per analogWrite gesteuert werden, müssen nicht als OUTPUT deklariert werden
}

void loop()
{  
  if(brightness > 254)
  {
    increment = -1;
  }
  else if(brightness < 1)
  {
    increment = 1;
  }

  brightness = brightness + increment;

  for(int index = 0; index < ledCount; index++) 
  {
    analogWrite(ledPin[index], brightness); 
  }

  delay(delaytime);
}

Hinweise zum Sketch

Die Werte für folgende Variablen sollten vor dem übertragen des Sketches an das Arduino-Board angepasst werden.

  • ledcount = die Anzahl der an das Arduino-Board angeschlossenen LEDs.
  • ledPin[] = Array das die Arduino-Pins enthält, an die wir die LEDs angeschlossen haben.
  • delayTime = hier kann angegeben werden wie schnell die LEDs blinken sollen.
  • brightness = die Helligkeit der LEDs wenn der Arduino mit Strom versorgt wird. 0 = LEDs sind aus. 255 = volle Helligkeit.

void loop()
Wenn der aktuelle Helligkeitswert größer als der Maximale Helligkeitswert ist, dann wird die Variable increment auf -1 gesetzt.
Ist der aktuelle Helligkeitswert < 1, ist also die LED aus, dann wird die Variable increment auf 1 gesetzt.
Danach wird der an die LEDs zu übergebende Helligkeitswert aus dem gerade aktuellen Helligkeitswert und dem Wert der Variablen increment neu berechnet.
In der for Schleife wird nun der neu berechnete Helligkeitswert an alle angeschlossenen LEDs per analogWrite übergeben.
Zu guter letzt wird der Programmablauf mit delay(delayTime) jedes Mal, wenn ein neuer Helligkeitswert an die LEDs übergeben wurde, für ein paar milli Sekunden gestoppt.

Über Enrico S.

Programmierer, Webdesigner, Grafiker, Blogger, Screencaster, Arduino- und eMobility Enthusiast.

2 Kommentare zu “Arduino – LEDs blinken lassen