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:arduino:ampelschaltung [2017/12/15 14:15]
hagemac Neuer Sketch
faecher:informatik:arduino:ampelschaltung [2020/01/20 12:20] (aktuell)
m.lange
Zeile 2: Zeile 2:
 ===== Erklärung ===== ===== Erklärung =====
  
-Man baut auf dem Breadboard ​des Arduinos ​eine Ampelschaltung,​ sprich Rot-Gelb-Grün, diese wollen wir gezielt mit einem kleinen Programm ansteuern, dazu benutzen wir den Arduino als einen Stromverteiler und sagen diesem wann er wieviel ​Strom an welche LED leiten soll.+Man baut auf dem Breadboard ​mit dem Arduino ​eine Ampelschaltung,​ sprich Rot-Gelb-Grün. Diese wollen wir gezielt mit einem kleinen Programm ansteuern. Dazu benutzen wir den Arduino als einen Stromverteiler und sagen diesemwann er Strom an welche LED leiten soll.
  
 ===== Materialien ===== ===== Materialien =====
  
-  * 1x Arduino ​(in diesem Fall Arduino NANO)+  * 1x Arduino
   * 1x Breadboard   * 1x Breadboard
   * 3x LEDs (Rot, Gelb, Grün)   * 3x LEDs (Rot, Gelb, Grün)
   * 4x Kabel   * 4x Kabel
-  * 3x Widerstände+  * 3x Widerstände ​150 Ω (gelb)
  
 ===== Aufbau ===== ===== Aufbau =====
 +{{:​faecher:​informatik:​arduino:​ampel-neu.png?​600|}}
  
-{{:​faecher:​informatik:​arduino:​steckplan_arduino_ampel.jpg|}} 
 ===== Programmierung ===== ===== Programmierung =====
  
Zeile 20: Zeile 20:
 Danach wird die Folge erneut ausgeführt. ​ Danach wird die Folge erneut ausgeführt. ​
  
-<​code>​ +<​code ​cpp
-int ledRot = 6;+int ledRot = 2;
 int ledGelb = 4; int ledGelb = 4;
-int ledGruen = 2;+int ledGruen = 6;
  
 void setup() { void setup() {
Zeile 53: Zeile 53:
 } }
 </​code>​ </​code>​
 +==== Programmierung mit eigener Funktion====
 +
 +Um den Programmcode zu verkürzen, kann man eigene Funktionen erstellen, die dann mehrere Befehle ausführen. Hier schreiben wir eine Funktion, die alle drei LED gleichzeitig ansteuert.
 +
 +<code cpp>
 +int ledRot = 2;
 +int ledGelb = 4;
 +int ledGruen = 6;
 +
 +void setup() {
 +  pinMode(ledRot,​ OUTPUT);
 +  pinMode(ledGelb,​ OUTPUT);
 +  pinMode(ledGruen,​ OUTPUT);
 +}
 +
 +void loop() {
 +  Phase(HIGH, LOW, LOW);
 +  delay(10000);​
 +  Phase(HIGH, HIGH, LOW);
 +  delay(1000);​
 +  Phase(LOW, LOW, HIGH);
 +  delay(10000);​
 +  Phase(LOW, HIGH, LOW);
 +  delay(3000);​
 +}
 +
 +void Phase(int Rot, int Gelb, int Gruen) {
 +  digitalWrite(ledRot,​ Rot);
 +  digitalWrite(ledGelb,​ Gelb);
 +  digitalWrite(ledGruen,​ Gruen);
 +}
 +</​code>​
 +===== Erweiterung =====
 +Manche Ampeln wechseln nicht automatisch von Grün zu Rot. Vielmehr muss man das als Fußgänger per Tastendruck hervorrufen. Das nennt man eine Bedarfsampel.\\
 +Kannst du dieses Projekt mit einem Taster erweitern, sodass die Ampel nur dann für eine kurze Zeit Rot wird, wenn man den Taster gerückt hat?\\
 +Informiere dich noch einmal, wie das Projekt [[faecher:​informatik:​arduino:​led_ueber_taster|LED über Taster]] aufgebaut war.
 ==== Links ==== ==== Links ====
-[[faecher:​informatik:​arduino:​led_ueber_taster|{{:​faecher:​informatik:​arduino:​rechts.png?​100| }}]]+[[faecher:​informatik:​arduino:​ampel_ueber_taster|{{ :​faecher:​informatik:​arduino:​links.png?​100|}}]] 
 +[[faecher:​informatik:​arduino:​led_ueber_taster|{{:​faecher:​informatik:​arduino:​rechts.png?​100|}}]]