BeRo Tech
Neuigkeiten Tutorials Impressum

Anwendungsbeispiel: Fortschrittsanzeige

Das Wissen aus dem letzten Kapitel nutzen wir nun, um eine Fortschrittsanzeige zu bauen, die sich langsam füllt. Dazu verwenden wir eine Bargraf-LED. Diese hat 20 Pins und entspricht im Grunde 10 aneinander gereihten LEDs. Jede davon hat eine Anode und Kathode.

Auf eine Schaltskizze verzichte ich an dieser Stelle. Verbinden Sie die Pins 1 bis 10 Ihres Arduino-Boards mit jeweils einem 130 Ω Widerstand und diese dann mit den zehn Anoden der Bargraf-LED-Anzeige. Die zehn Kathoden müssen mit einem der GND-Pins des Arduino-Boards verbunden werden.

Mit folgendem Sketch können Sie nun eine Fortschrittsanzeige realisieren:

void setup()
{
  for(int i = 1; i <= 10; i++)
    pinMode(i, OUTPUT);
}

void loop()
{
  // Progress bar
  for(int i = 1; i <= 10; i++)
  {
    digitalWrite(i, HIGH);
    delay(1000);
  }
 
  // Reset LEDs after 1 sec.
  delay(1000);
  
  for(int i = 1; i <= 10; i++)
    digitalWrite(i, LOW);
}
					

Anstatt jeden der zehn Pins einzeln zu deklarieren und zu setzen, verwenden wir Schleifen. Bei der for-Schleife gibt man drei Dinge an: bei welchem Wert sie startet, bis zu welchem Wert sie durchläuft und wie sich die Zählvariable bei jedem Durchlauf verändert. Jeder der drei Teile wird dabei durch ein Semikolon von den anderen getrennt. In der setup-Funktion bedeutet


for(int i = 1; i <= 10; i++)
  pinMode(i, OUTPUT);
					

dass wir die Schleife für den Wert i=1 bis i=10 durchlaufen und bei jedem Durchlauf den Wert von i um 1 erhöhen. Bei jedem Durchlauf der Schleife setzen wir den Pin i auf OUTPUT. Wir könnten alternativ auch zehn Variablen global definieren, aber mit diesem Ansatz sparen wir viel Quellcode.

In der Hauptschleife des Programmes setzen wir nun jede Sekunde einen weiteren Pin auf HIGH, bis alle 10 Pins auf HIGH stehen. Anschließend wird eine Sekunde gewartet, bevor das Ganze wieder zurückgesetzt wird.

Einkaufsliste

Name Anzahl Beschreibung Reichelt Bestellnr.
R1 10 130 Ω Widerstand 1/4W 130
LED1 1 grüne Bargraph-Anzeige mit 10 Elementen GBB 1000



Copyright (c) 2014 by Benjamin B. Rommel