BeRo Tech
Neuigkeiten Tutorials Impressum

Blinkende Leuchtdiode

Das erste Projekt, das wir in Angriff nehmen werden, ist eine blinkende Leuchtdiode. Anhand dieses sehr kleinen Aufbaus, kann man bereits sehr viel anschaulich lernen. Unsere Schaltung hat den folgenden Aufbau:

Blinkende Leuchtdiode

Wir verbinden den Widerstand R1 (130 Ω) mit dem Pin 10 des Arduino-Board und der Anode der Leuchtdiode LED1 (grüne LED). Die Kathode der Leuchtdiodewird mit dem GND des Boards verbunden. Die grüne LED leuchtet nun genau dann, wenn an dem Pin 10 eine Spannung anliegt.

Der dazugehörige Sketch sieht wie folgt aus:

// Pins
int led_green = 10;

void setup()
{
  pinMode(led_green, OUTPUT);
}

void loop()
{
  digitalWrite(led_green, LOW);
  delay(1000);
  
  digitalWrite(led_green, HIGH); 
  delay(1000);
}
					

Wir definieren uns als erstes die Pin-Nummer, mit der wir arbeiten wollen. Dazu schreiben wir in den globalen Bereich des Sketches, also noch vor die setup-Funktion:

int led_green = 10;
					

Damit definieren wir eine Variable vom Typ int (Ganzzahl), mit dem Namen led_green und dem Wert 10. Bisher haben wir nur eine Variable definiert und ihr den Wert 10 zugewiesen. Was nun noch fehlt ist die Zuordnung der Variable zu einem Pin. Dazu schreiben wir in die setup-Methode:

pinMode(led_green, OUTPUT);
					

Mit der Funktion pinMode legen wir fest, dass Pin led_green ein digitaler Ausgang sein soll (OUTPUT). Da wir nur einmal festlegen müssen, welcher Pin für die Eingabe, bzw. die Ausgabe benutzt werden muss, ist die setup-Funktion genau der richtige Ort dafür.

Mit der Funktion digitalWrite können wir einen digitalen Ausgang auf LOW (= GND), oder auf HIGH (= 5V) setzen. Da wir eine blinkende LED haben möchten, müssen wir die Ausgabe also abwechselnd auf HIGH und LOW setzen. Die Funktion delay hält das Programm an der Stelle, an der die Funktion steht, an und wartet die angegebene Zahl an Millisekunden ab.

  digitalWrite(led_green, LOW);
  delay(1000);
  
  digitalWrite(led_green, HIGH); 
  delay(1000);
					

Mit dieser Schleife schalten wir also den Ausgang auf HIGH und die Leuchtdiode leuchtet. Dann warten wir eine Sekunde und legen den Ausgang auf LOW - die LED leuchtet nicht mehr. Nach einer weiteren Sekunde startet die Schleife von vorne und die Leuchtdiode leuchtet wieder.

Zwei abwechselnd blinkende Leuchtdioden

Wir erweitern nun unseren Aufbau um eine zweite, rote LED. Das Ziel soll es sein, dass beide Leuchtdioden abwechselnd blinken. Die Schaltskizze sieht wie folgt aus:

Zwei blinkende Leuchtdioden

Nun müssen wir unser Programm von oben anpassen. Wir müssen einen zweiten, digitalen Ausgang definieren, an dem wir unsere rote Leuchtdiode anschließen. In meinem Fall ist dies Pin 8. Wir schalten nun die rote Leuchtdiode aus (Pin = LOW), wenn die grüne Leuchtdiode angeschaltet ist (Pin = HIGH) und umgekehrt. Der vollständige Sketch sieht damit wie folgt aus:

// Pins
int led_green = 10;
int led_red = 8;

void setup()
{
  pinMode(led_green, OUTPUT);
  pinMode(led_red, OUTPUT);
}

void loop()
{
  digitalWrite(led_green, LOW);
  digitalWrite(led_red, HIGH);
  delay(1000);
  
  digitalWrite(led_green, HIGH); 
  digitalWrite(led_red, LOW);
  delay(1000);
}
					

Einkaufsliste

Name Anzahl Beschreibung Reichelt Bestellnr.
R1 2 130 Ω Widerstand 1/4W 130
LED1 1 Grüne Leuchtdiode LED 5MM R GN
LED2 1 Rote Leuchtdiode LED 5MM R RT



Copyright (c) 2014 by Benjamin B. Rommel