71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
|
# Z-Lab Arduino-Grundkurs Projekt 2: Blinken
|
||
|
|
||
|
In diesem Projekt lassen wir eine LED blinken.
|
||
|
|
||
|
Das gute an diesem Beispiel ist, dass wir hierfür auch wieder nichts brauchen außer den Arduino, einen Computer, das passende Kabel und die Arduino-IDE, die wir ja ohnehin schon installiert haben.
|
||
|
|
||
|
...
|
||
|
|
||
|
...
|
||
|
|
||
|
...
|
||
|
|
||
|
## Wenn wir wollen können wir aber auch eine externe LED anschließen.
|
||
|
|
||
|
Was zu dazu brauchst?
|
||
|
* Eine LED (wir nehmen eine kleine rote mit 20ma Leistung)
|
||
|
* Einen Widerstand (wir nehmen einen 220OHM Widerstand, es sollte aber auch bis 1kOHM funktionieren)
|
||
|
|
||
|
Das Ganze verkabeln wir mit dem Arduino so:
|
||
|
|
||
|
<img src="Blinken_bb.svg">
|
||
|
|
||
|
Also:
|
||
|
* Die LED kommt in ein Breadboard
|
||
|
* an die längere Seite der LED schließen wir den Widerstand an
|
||
|
* das andere Ende des Widerstands verbinden wir mit dem Ausgang 12 des Arduino
|
||
|
* Wie müssen wir den Code anpassen?
|
||
|
|
||
|
<details>
|
||
|
<summary>hier klicken für (zwei mögliche) Lösungen</summary>
|
||
|
|
||
|
### Lösung mit "hart-Kodierter" Nummer
|
||
|
```c
|
||
|
void setup() {
|
||
|
pinMode(12, OUTPUT);
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
digitalWrite(12, HIGH);
|
||
|
delay(1000);
|
||
|
digitalWrite(12, LOW);
|
||
|
delay(1000);
|
||
|
}
|
||
|
```
|
||
|
|
||
|
|
||
|
### Lösung mit #define
|
||
|
```c
|
||
|
#define LED1 12
|
||
|
|
||
|
void setup() {
|
||
|
pinMode(LED1, OUTPUT);
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
digitalWrite(LED1, HIGH);
|
||
|
delay(1000);
|
||
|
digitalWrite(LED1, LOW);
|
||
|
delay(1000);
|
||
|
}
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
|
||
|
|
||
|
## Und wie könnte es weiter gehen?
|
||
|
* Was müssten wir denn tun, wenn wir beide LEDs abwechselnd blinken lassen wollten?
|
||
|
* Und wir müssten wir vorgehen, wenn wir 3 LEDs nacheinander blinken lassen wollen?
|
||
|
* Welche Ideen habt ihr noch (Zeit im Auge behalten)
|
||
|
|