Wie man eine Leuchtdiode zum Blinken bringt

Was du schon weißt

Was du schon weißt:

  • Wie der Arduino als Batterie funktioniert
  • Wie man eine Leuchtdiode mit einem Widerstand in den Stromkreis einbaut
  • Wie das Steckbrett funktioniert.

eine neue Schaltung

Wir haben den Arduino als Batterie verwendet, um eine Leuchtdiode zm Leuchten zu bringen. Aber der Arduino ist ein keiner Computer, der seine Kontakte je nach Bedarf ein- und ausschalten kann. Das wollen wir nutzen, um eine Leuchtdiode blinken zu lassen.
Im Prinzip bauen wir wieder einen Stromkreis mit dem Arduino, einer Leuchtdiode, einem Widerstand, dem Steckbrett und Kabel.
Diesmal beginnen wir aber den Stromkreis nicht beim Kontakt 5V, sondern bei einem schaltbaren Kontakt, etwa D2.

Wenn du den Aufbau alleine versuchen willst, bedenke, dass

  • nur bei stromlosen Arduino gesteckt werden soll
  • keine Kurzschlüsse entstehen dürfen
  • die Leuchtdiode nur mit Widerstand in einen Stronkreis eingebaut werden darf

Lasse zur Sicherheit deine Schaltung kontrollieren!

Die Schaltung sollte nun etwa so aussehen:

Statt des rechten unteren Kabels kannst du auch den Widerstand verwenden, um den Stromkreis von der Leuchtdiode auf zur waagerechten Leitung zu schließen.

Wenn man nun den Arduino an das USB-Kabel anschließt, …
passiert nichts!
Das liegt daran, dass der Kontakt D2 nicht automatisch geschlossen wird. Dafür müssen wir den Arduino programmieren.

Das Programm, in dem wir die Programme für den Arduino schreiben, die so genannte Arduino-IDE, sieht wie folgt aus:

Dort schreiben wir folgenden Quelltext hinein:

void setup() {
  pinMode(2, OUTPUT);
  digitalWrite(2, HIGH);
}
 
void loop() {
}
Statt zu tippen, kannst du den Quelltext mit der Maus markieren, kopieren und einfügen. Lass' dir dabei helfen, wenn du nicht weißt, wie das geht.

Ist der Quelltext eingefügt, so muss man nur auf mit der Maus auf den wie ein Pfeil aussehenden Knopf klicken, dann wird das Programm auf den Arduino gespielt und ausgeführt. Dazu muss der Arduino natürlich mit dem USB-Kabel angeschlossen sein.

In einigen Fällen kann es dabei zu Fehlern kommen, die sich dadurch bemerkbar machen, dass der untere Teil der Arduino-IDE orangefarben wird. Melde dich in dem Fall!

Wir wollen kurz den Quellcode erklären:
Ein Programm für den Arduino muss immer die zwei Teile haben, die mit setup bzw. loop gekennzeichnet sind.
Der setup-Teil, wird nur einmal zu Beginn des Progammes aufgerufen und die dort stehenden Befehle der Reihe nach aufgerufen.
In diesem Fall wird dem Arduino mitgeteilt, dass er den Kontakt D2 als Stromausgang vewenden soll/darf. Dabei wird aber das „D“ weggelassen. Das macht der Befehl:

  pinMode(2, OUTPUT);

Danach wird der Kontakt D2 eingeschaltet, was der Befehl

  digitalWrite(2, HIGH);

erledigt.

Nachdem alle Befehle des setup-Teils ausgeführt wurden, wird mit dem loop-Teil fortgefahren. In unserem Falle steht dort nichts drin!
Sind die Befehle des loop-Teils ausgeführt worden, beginnt der Arduino noch einmal damit, die Befehle des loop-Teils der Reihe nach auszuführen.
Daher stammt auch der Name: loop bedeutet so viel wie Kreis.

Wenn alles richtig gemacht wurde, dann leuchtet die Leuchtdiode nun wieder die ganze Zeit.

Und jetzt das Blinken...

Nun verändern wir das Programm, sodass die Leuchtdiode blinkt.

Der setup-Teil muss dafür nur noch einen Befehl enthalten:

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

Der loop-Teil schaltet jetzt die Leuchtdiode im Wechsel ein und aus. Dafür könnte er so aussehen:

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

Insgesamt sieht der Quelltext also wie folgt aus:

void setup() {
  pinMode(2, OUTPUT);  
}
 
 
void loop() {
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}

Wenn du den Quelltext in die Arduino-IDE eingegeben und per Knopfdruck hochgelade hast (Arduino per USB-Kabel anschließen nicht vergessen!), dann sollte die Leuchtdiode im Wechsel eine Sekunde lang leuchten und eine Sekunde lang aus sein.

Der Befehl

  delay(1000);

sorgt dafür, dass der Arduino 1000 Millisekunden, also eine Sekunde lang wartet, bevor er mit dem nächsten Befehl fortfährt.

Ziel erreicht

Herzlichen Glückwunsch! Du weißt nun, wie man mit dem Arduino eine Leuchtdiode ansteuert.

Weitere Ideen

Wenn du noch Zeit hast, kannst du folgendes ausprobieren:

  • Verändere die Zeit, die die Leuchtdiode leuchtet oder dunkel ist.
  • Lasse die Leuchtdiode in einem anderen Rhythmus blinken.
  • Baue eine zweite Leuchtdiode (bitte mit eigenem Widerstand) ein. Du kannst beide gleichzeitig leuchten lassen oder genau im Wechsel.

Wie geht's weiter?

Der nächste Teil des Workshops findet sich auf der Seite Wie man auf einen Tastendruck reagiert.