Z-Lab/Arduino_Grundlagen/03_Externe_LED/readme.md

108 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

2024-02-08 23:45:09 +01:00
# Z-Lab Arduino-Grundkurs Projekt 3: Externe LED und mehrere LEDs
2024-02-08 23:28:25 +01:00
In diesem Projekt lassen wir wieder LEDs blinken.
Allerdings dieses Mal eine externe.
2024-02-08 23:28:25 +01:00
2024-02-08 23:44:42 +01:00
Zuerst öffnen wir das Projekt über den gewohnten Weg. Der Name ist "03_Externe_LED"
2024-02-08 23:28:25 +01:00
2024-02-08 23:44:42 +01:00
![Projekt öffnen](image.png)
2024-02-08 23:28:25 +01:00
2024-02-08 23:44:42 +01:00
Wenn du dieses Projekt öffnest wunderst du dich bestimmt. Das sieht ja genau so aus wie beim letzten Mal.
2024-02-08 23:28:25 +01:00
2024-02-08 23:44:42 +01:00
Genau! Um mehrere LEDs und auch externe LEDs anzusteuern reicht unser C-Wissen aus den letzten beiden Projekten völlig aus. Wir müssen nur das gelernte neu kombinieren und schon können wir externe LEDs und auch mehrere LEDs anschließen und unterschiedlich blinken lassen.
2024-02-08 23:28:25 +01:00
2024-02-28 23:19:49 +01:00
Und wir müssen lernen, was ein Breadboard ist :)
## Das Breadboard
2024-02-08 23:28:25 +01:00
2024-02-28 23:19:49 +01:00
Ein Breadboard ist eine Steckplatine, die es uns erstpart alles, was wir mal testen wollen, löten zu müssen.
Dabei sind die Löcher an der Außenseite der Platine längs miteinander verbunden und die Löcher im Inneren der Platine sind quer miteinander verbunden:
//TODO: BILD
Wenn wir nun einen Stromkreis brauchen, der eine LED, einen Widerstand und den Arduino miteinander verbindet dann müssten wir ohne das Breadboard einen Stromkreis basteln, der so aussieht:
//TODO: BILD
Oder wir löten auf einer normalen Platine einen Stromkreis wie diesen hier:
2024-02-08 23:28:25 +01:00
2024-02-28 23:19:49 +01:00
//TODO: BILD
2024-02-08 23:28:25 +01:00
2024-02-28 23:19:49 +01:00
Wenn wir nun aber ein paar Sachen hintereinander ausprobieren möchten müssten wir ja immer wieder umbasteln oder umlöten. Das macht auf Dauer keinen Spaß. Deshalb gibt es die Breadboards. Damit lässt sich ein Stromkreis oder eine Schaltung leicht und ohne Werkzeug bauen und wieder verändern.
## Verkabeln wir also die LED mit dem Widerstand mit dem Arduino
So muss da aussehen, wenn wir fertig sind:
2024-02-08 23:28:25 +01:00
<img src="Blinken_bb.svg">
2024-02-28 23:19:49 +01:00
Für den Aufbau gehen wir wie folgt vor:
* Die LED kommt in ein Breadboard
Die beiden Beinchen in zwei verschiedene Spalten stecken
* an die längere Seite der LED schließen wir den Widerstand an.
Dazu stecken wir den Widerstand in die gleiche Spalte wie die LED
* Das andere Ende des Widerstands verbinden wir mit dem Ausgang 12 des Arduino
Dazu stecken wir ein rotes Kabel in die Spalte dem Widerstand und mit dem anderen Ende auf den Pin 12 des Arduino.
* Jetzt fehlt noch der Rückweg des Stroms zum Arduino
Dazu stecken wir eine Seite eines schwarzen Kabels an einen der GND-Eingänge des Arduino.
Die andere Seite stecken wir in die Spalte, in der das kurze Beinchen der LED noch alleine Steck.
So und dann geht's wieder ans Programmieren.
* Wie müssen wir den Code anpassen, damit die externe LED blinkt?
2024-02-08 23:28:25 +01:00
<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?
2024-02-08 23:44:42 +01:00
* Was müssten wir denn tun, wenn wir beide LEDs (die interne und die externe) abwechselnd blinken lassen wollten?
2024-02-08 23:28:25 +01:00
* Und wir müssten wir vorgehen, wenn wir 3 LEDs nacheinander blinken lassen wollen?
2024-02-08 23:44:42 +01:00
<details>
<summary>Hier klicken für Lösungsvorschläge - aber bitte erst selbst probieren! </summary>
<details>
<summary>Ja wirklich. Bitte erst selbst probieren. Nicht gleich nach der Lösung schauen.</summary>
### Lösung mit #define
```c
TODO: hier Lösungsvorschläge
```
</details>
</details>