Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:arduino:ampelschaltung [2017/12/15 14:25] hagemac Programmierung mit eigener Funktion |
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 diesem, wann 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 57: | Zeile 57: | ||
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. | 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> | + | <code cpp> |
- | int ledRot = 6; | + | int ledRot = 2; |
int ledGelb = 4; | int ledGelb = 4; | ||
- | int ledGruen = 2; | + | int ledGruen = 6; |
void setup() { | void setup() { | ||
- | pinMode(ledRed, OUTPUT); | + | pinMode(ledRot, OUTPUT); |
pinMode(ledGelb, OUTPUT); | pinMode(ledGelb, OUTPUT); | ||
pinMode(ledGruen, OUTPUT); | pinMode(ledGruen, OUTPUT); | ||
Zeile 79: | Zeile 79: | ||
} | } | ||
- | void Phase(int Rot, int Gelb, int Grün) { | + | void Phase(int Rot, int Gelb, int Gruen) { |
digitalWrite(ledRot, Rot); | digitalWrite(ledRot, Rot); | ||
digitalWrite(ledGelb, Gelb); | digitalWrite(ledGelb, Gelb); | ||
Zeile 85: | Zeile 85: | ||
} | } | ||
</code> | </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|}}]] |