Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:informatik:schrecksekunde:led2 [2018/02/26 10:26]
m.lange
faecher:informatik:schrecksekunde:led2 [2018/03/16 21:11] (aktuell)
Zeile 1: Zeile 1:
 ====== Wie man eine Leuchtdiode zum Blinken bringt ====== ====== Wie man eine Leuchtdiode zum Blinken bringt ======
 +===== Was du schon weißt =====
 Was du schon weißt: Was du schon weißt:
   * Wie der //Arduino// als Batterie funktioniert   * Wie der //Arduino// als Batterie funktioniert
   * Wie man eine Leuchtdiode mit einem Widerstand in den Stromkreis einbaut   * Wie man eine Leuchtdiode mit einem Widerstand in den Stromkreis einbaut
   * Wie das Steckbrett funktioniert.   * 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.\\ 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.\\ Im Prinzip bauen wir wieder einen Stromkreis mit dem //​Arduino//,​ einer Leuchtdiode,​ einem Widerstand, dem Steckbrett und Kabel.\\
Zeile 19: Zeile 19:
 Die Schaltung sollte nun etwa so aussehen: Die Schaltung sollte nun etwa so aussehen:
  
-{{ :​faecher:​informatik:​schrecksekunde:​led-schalt.png}}+{{ :​faecher:​informatik:​schrecksekunde:​led-schalt.png }} 
 +<note tip>​Statt des rechten unteren Kabels kannst du auch den Widerstand verwenden, um den Stromkreis von der Leuchtdiode auf zur waagerechten Leitung zu schließen.</​note>​ 
 + 
 +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: 
 + 
 +{{ :​faecher:​informatik:​arduino:​arduino-ide.png?​300 }} 
 + 
 +Dort schreiben wir folgenden Quelltext hinein: 
 +<code cpp> 
 +void setup() { 
 +  pinMode(2, OUTPUT); 
 +  digitalWrite(2,​ HIGH); 
 +
 + 
 +void loop() { 
 +
 +</​code>​ 
 + 
 +<note tip>​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.</​note>​ 
 + 
 +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.** 
 +<note important>​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!</​note>​ 
 + 
 +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: 
 +<code cpp> 
 +  pinMode(2, OUTPUT); 
 +</​code>​ 
 +Danach wird der Kontakt D2 eingeschaltet,​ was der Befehl 
 +<code cpp> 
 +  digitalWrite(2,​ HIGH); 
 +</​code>​ 
 +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:​ 
 +<code cpp> 
 +void setup() { 
 +  pinMode(2, OUTPUT); ​  
 +
 +</​code>​ 
 + 
 +Der **loop**-Teil schaltet jetzt die Leuchtdiode im Wechsel ein und aus. Dafür könnte er so aussehen: 
 +<code cpp> 
 +void loop() { 
 +  digitalWrite(2,​ HIGH); 
 +  delay(1000);​ 
 +  digitalWrite(2,​ LOW); 
 +  delay(1000);​ 
 +
 +</​code>​ 
 + 
 +Insgesamt sieht der Quelltext also wie folgt aus: 
 +<code cpp> 
 +void setup() { 
 +  pinMode(2, OUTPUT); ​  
 +
 + 
 + 
 +void loop() { 
 +  digitalWrite(2,​ HIGH); 
 +  delay(1000);​ 
 +  digitalWrite(2,​ LOW); 
 +  delay(1000);​ 
 +
 +</​code>​ 
 + 
 +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 
 +<code cpp> 
 +  delay(1000);​ 
 +</​code>​ 
 +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 [[faecher:​informatik:​schrecksekunde:​taster|Wie man auf einen Tastendruck reagiert]].