Was du schon weißt:
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
Lasse zur Sicherheit deine Schaltung kontrollieren!
Die Schaltung sollte nun etwa so aussehen:
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() { }
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.
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.
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.
Herzlichen Glückwunsch! Du weißt nun, wie man mit dem Arduino eine Leuchtdiode ansteuert.
Wenn du noch Zeit hast, kannst du folgendes ausprobieren:
Der nächste Teil des Workshops findet sich auf der Seite Wie man auf einen Tastendruck reagiert.