Anzeige

Lektion 8 – Es blinkt!

Deine LED leuchtet. Sehr gute Arbeit! Jetzt bringen wir sie zum Blinken.

Wir verwenden einfach den Schaltplan aus Lektion 7 weiter.

Um die LED blinken zu lassen, müssen wir sie an- und ausschalten. Angeschaltet hast du sie schon mit dem Befehl:

digitalWrite(9, HIGH);

Abschalten lässt sie sich mit:

digitalWrite(9, LOW);

Batterie HIGH LOW

Aha, HIGH heißt also an und LOW heißt aus? Im Grunde genommen schon. HIGH bedeutet, dass an dem Pin 5 Volt Plus anliegen, LOW bedeutet, dass dort der GND (Minus-Pol) anliegt. Das können wir später noch einmal gebrauchen, aber jetzt erstmal weiter.

Das Ein- und Ausschalten soll sich ja immer wiederholen. Also müssen wir die Befehle in die Loop-Methode schreiben. Dann sieht unser Programm so aus:

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

void loop(){
  digitalWrite(9, HIGH);
  digitalWrite(9, LOW);
}

Übertrag das mal auf das Arduino-Board. Klicke wieder im Menü auf Datei > Upload.

Hm, die LED leuchtet immer noch. Dabei sieht der Programmtext doch ganz richtig aus. Das Arduino-Board wiederholt das Ein- und Ausschalten der LED nun so schnell, dass wir gar nicht sehen können, wenn sie abgeschaltet wird. Dafür müssten wir das Programm nach dem Abschalten kurz anhalten.

Arduino-Programme können wir mit dem Befehl

delay(1000);

anhalten. Delay bedeutet verzögern und das Parameter in den Klammern sagt, um wie viele Millisekunden das Programm verzögert werden soll. Eine Sekunde hat 1000 Millisekunden.

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

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

Und ab damit auf das Arduino-Board. (Datei > Upload).

Verflixt! Jetzt leuchtet die LED gar nicht mehr. Die LED wird jetzt Ein- aber auch sofort wieder Ausgeschaltet. Dann wartet das Programm eine Sekunde. Wir müssten also auch nach dem Einschalten warten, um etwas zu sehen. Lass uns das probieren:

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

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

Hurra! Jetzt klappt es. Die LED schaltet sich ein, leuchtet eine Sekunde lang und geht für eine Sekunde aus. Das war knifflig, aber jetzt ist es eigentlich ganz klar. Da das Arduino-Board so schnell arbeitet, müssen wir manchmal kleine Pausen einbauen.

Jetzt bist du dran: Verändere das Programm so, dass die LED ganz schnell blinkt. Die Lösung findest du hier unten, aber versuche es aber erst einmal selber.

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

void loop(){
  digitalWrite(9, HIGH);
  delay(200);
  digitalWrite(9, LOW);
  delay(200);
}

Ich würde mich freuen, wenn du diesen Beitrag bewerten würdest :-)

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 3

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Deine Meinung ist mir sehr wichtig!

Lasse uns diesen Beitrag verbessern!

Wie kann ich den Beitrag verbessern? Was würdest du dir wünschen? Was hat dir gefehlt?

Ich hoffe, der Beitrag hilft dir weiter. Und falls du weitere Fragen hast, stelle sie gern hier im Arduino-Forum.

Du willst noch tiefer in die Materie einsteigen? Dann präsentiere ich dir die neuen E-Books von StartHardware:

  • 20 Lektionen
  • Projektbasiert und kurzweilig
  • Aus den Erfahrungen unzähliger Workshops
  • Sofortiger Download

  • Die beliebtesten Projekte von StartHardware
  • Mit Code, Schaltplan und Erklärungen
  • Fachwissen-Kapitel
  • Sofortiger Download


Willst du lieber ein Buch zum Anfassen? Dann werde mit diesem hier zum Arduino-Experten! Arduino: Kompendium: Elektronik, Programmierung und Projekte* – Damit lernst du alle Tricks!

One thought on “Lektion 8 – Es blinkt!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.