Compare commits

...

14 Commits

17 changed files with 129 additions and 95 deletions

View File

@ -1,10 +1,10 @@
# Z-Lab Arduino-Grundkurs Projekt 1: Nichts tun... # Z-Lab Arduino-Grundkurs Übung 1: Nichts tun...
## Dafür lernen wir, wie ein Arduino-Programm (der sog. Sketch) aufgebaut ist ## Dafür lernen wir, wie ein Arduino-Programm (der sog. Sketch) aufgebaut ist
Öffne zuerst den Sketch für dieses Projekt über die Arduino-IDE. Öffne zuerst den Sketch für diese Übung über die Arduino-IDE.
Das geht über Datei-> Sketchbook -> Z-Lab -> Arduino_Grundlagen -> 01_Grundstruktur: Das geht über Datei-> Sketchbook -> Z-Lab -> Arduino_Grundlagen -> 01_Grundstruktur:
![Projekt öffnen](oeffnen.png) ![Übung öffnen](oeffnen.png)
Nun siehst du den Quellcode eines Programmes für den Arduino, das absolut gar nichts machen wird. Nun siehst du den Quellcode eines Programmes für den Arduino, das absolut gar nichts machen wird.
Dazwischen sind auch ein paar Kommentare, damit du auch nachvollziehen kannst, was alles bedeutet, wenn du diese Seite nicht offen hast. Dazwischen sind auch ein paar Kommentare, damit du auch nachvollziehen kannst, was alles bedeutet, wenn du diese Seite nicht offen hast.
@ -39,12 +39,12 @@ Also im Falle der Wasserflasche die Wasserflasche.
> Und sicher ist dir in dem Beispiel schon aufgefallen, dass Funktionsnamen kein Umlaute haben dürfen. > Und sicher ist dir in dem Beispiel schon aufgefallen, dass Funktionsnamen kein Umlaute haben dürfen.
Ganz wichtig sind die Klammern "()" am Ende der Funktion. Erst dadurch wird die Funkion auch zur Funktion und kann nicht mit einer Variable (kommen wir im Nächsten Projekt dazu) oder anderen Elementen verwechselt werden. Ganz wichtig sind die Klammern "()" am Ende der Funktion. Erst dadurch wird die Funkion auch zur Funktion und kann nicht mit einer Variable (kommen wir in der nächsten Übung dazu) oder anderen Elementen verwechselt werden.
### Die Funktion "setup" ### Die Funktion "setup"
Die Funktion "setup" ist eine ganz spezielle Funktion. "Setup" ist englisch und heißt auf Deutsch so viel wie "Aufbau" oder "Einrichtung". Diese Funktion wird einmal ausgeführt, nachdem der Arduino mit Strom versorgt (also eingeschaltet) wird. Alles, was nur einmal gemacht werden muss, um die Aufgabe zu erledigen, die unser Programm erleidgen muss, muss hier rein. Die Funktion "setup" ist eine ganz spezielle Funktion. "Setup" ist englisch und heißt auf Deutsch so viel wie "Aufbau" oder "Einrichtung". Diese Funktion wird einmal ausgeführt, nachdem der Arduino mit Strom versorgt (also eingeschaltet) wird. Alles, was nur einmal gemacht werden muss, um die Aufgabe zu erledigen, die unser Programm erleidgen muss, muss hier rein.
Das ist wie wenn du mit deinem Lego spielst: Zuerst musst du das Lego holen, dich irgendwo hinsetzen und dann das Lego auspacken. Wenn du dann mit dem Lego z.B. ein Haus baust hast du das Lego schon da und musst nur immer wieder in die Kiste greifen. Und hier kommt die zweite Funktion aus diesem Projekt ins Spiel Das ist wie wenn du mit deinem Lego spielst: Zuerst musst du das Lego holen, dich irgendwo hinsetzen und dann das Lego auspacken. Wenn du dann mit dem Lego z.B. ein Haus baust hast du das Lego schon da und musst nur immer wieder in die Kiste greifen. Und hier kommt die zweite Funktion aus dieser Übung ins Spiel
### Die Funktion Loop ### Die Funktion Loop
Die Funktion "loop" ist das zweite wirklich relevante in diesem Beispiel: Die Funktion "loop" ist das zweite wirklich relevante in diesem Beispiel:
@ -105,4 +105,4 @@ Du hast gerade dein erstes Programm in Maschinencode übersetzt und auf den Ardu
Auch wenn das Programm noch nichts tut so weißt du jetzt, was die Funktionen setup und loop machen und wie du ein Programm so übersetzt, dass der Arduino weiß, was er zu tun hat und wie du es hochlädst. Auch wenn das Programm noch nichts tut so weißt du jetzt, was die Funktionen setup und loop machen und wie du ein Programm so übersetzt, dass der Arduino weiß, was er zu tun hat und wie du es hochlädst.
Also schnell weiter zum nächsten Projekt denn da bekommt der Arduino jetzt auch etwas zu tun :) Also schnell [weiter zur nächsten Übung](../02_Blinken/) denn da bekommt der Arduino jetzt auch etwas zu tun :)

View File

@ -1,13 +1,13 @@
# Z-Lab Arduino-Grundkurs Projekt 2: Blinken # Z-Lab Arduino-Grundkurs Übung 2: Blinken
In diesem Projekt lassen wir eine LED blinken. In dieser Übung 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. 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.
Denn die meisten Arduinos haben eine eingebaute LED, die man programmieren kann. Denn die meisten Arduinos haben eine eingebaute LED, die man programmieren kann.
Zuerst öffnen wir das Projekt 02_Blinken über "Datei" -> "Sketchbook" -> "Z-Lab" -> "Arduino_Grundlagen" -> 02_Blinken: Zuerst öffnen wir doe Übung 02_Blinken über "Datei" -> "Sketchbook" -> "Z-Lab" -> "Arduino_Grundlagen" -> 02_Blinken:
![Projekt öffnen](oeffnen.png) ![Übung öffnen](oeffnen.png)
In der Datei 02_Blinken.ino finden wir folgenden Quellcode: In der Datei 02_Blinken.ino finden wir folgenden Quellcode:
@ -34,11 +34,11 @@ void setup() {
} }
``` ```
Im letzten Projekt haben wir gelernt, dass die setup-Funktion nur einmal ausgeführt wird, wenn der Arduino gestartet wird. In der letzten Übung haben wir gelernt, dass die setup-Funktion nur einmal ausgeführt wird, wenn der Arduino gestartet wird.
In dieser setup-Funktion befindet sich nur ein Befehl. Dieser lautet "pinMode". In dieser setup-Funktion befindet sich nur ein Befehl. Dieser lautet "pinMode".
Die pinMode-Funktion wird nicht wie die setup-Funktion einfach mit Klammern geschrieben sondern in den Klammern stehen noch weitere Zeichen. Diese nennen sich Parameter, Argumente oder Optionen. Gemeint ist damit das gleiche. Die pinMode-Funktion wird nicht wie die setup-Funktion einfach mit Klammern geschrieben sondern in den Klammern stehen noch weitere Zeichen. Diese nennen sich Parameter, Argumente oder Optionen. Gemeint ist damit das gleiche.
Nehmen wir noch mal das Beispiel mit der Wasserflasche im Kühlschrank aus dem letzten Projekt. Nehmen wir noch mal das Beispiel mit der Wasserflasche im Kühlschrank aus der letzten Übung.
Wenn ihr manchmal nicht nur die Wasserflasche aus dem Kühlschrank braucht sondern vielleicht auch mal eine Karotte oder irgendwas anderes dann wäre es doch praktisch, ihr müsstet nicht für alles, was sich im Kühlschrank befindet eine neue Funktion schreiben. Wenn ihr manchmal nicht nur die Wasserflasche aus dem Kühlschrank braucht sondern vielleicht auch mal eine Karotte oder irgendwas anderes dann wäre es doch praktisch, ihr müsstet nicht für alles, was sich im Kühlschrank befindet eine neue Funktion schreiben.
So wie ihr eure Eltern fragt, ob sie euch die Wasserflasche geben können könnt ihr sie ja auch fragen, ob sie euch eine Karotte geben können. So wie ihr eure Eltern fragt, ob sie euch die Wasserflasche geben können könnt ihr sie ja auch fragen, ob sie euch eine Karotte geben können.
Wir könnten also sagen, wir machen eine Funktion, die heißt: Wir könnten also sagen, wir machen eine Funktion, die heißt:
@ -57,7 +57,7 @@ Ein PIN ist ein Anschluss am Arduino. Wenn du auf den Arduino schaust dann hat d
Dann haben wir hier noch etwas neues, das nennt sich "Makro". Dann haben wir hier noch etwas neues, das nennt sich "Makro".
Ein Makro ist wie ein Platzhalter, der aber nicht mehr veränderbar ist. Ein Makro ist wie ein Platzhalter, der aber nicht mehr veränderbar ist.
Ein Makro wird einmal definiert und dann bleibt es wie es ist, anders als Variablen (kommen wir in einem späteren Projekt dazu), die später noch veränderbar sind. Ein Makro wird einmal definiert und dann bleibt es wie es ist, anders als Variablen (kommen wir in einer späteren Übung dazu), die später noch veränderbar sind.
Ein Makro, das wir hier haben hat den Namen "LED_BUILTIN". Ein Makro, das wir hier haben hat den Namen "LED_BUILTIN".
Dahinter steht eine Zahl, und zwar die PIN, an der die im Arduino eingebaute LED angebracht ist. Dahinter steht eine Zahl, und zwar die PIN, an der die im Arduino eingebaute LED angebracht ist.
@ -101,7 +101,7 @@ Hier steht "HIGH" (wieder ein Makro) für "An" in Form einer 1 und "LOW" für "A
![Marko Wert LOW](image-6.png) ![Marko Wert LOW](image-6.png)
*Marko-Wert von LOW* *Marko-Wert von LOW*
Dann gibt es noch eine weitere Funktion in unserem Projekt: Dann gibt es noch eine weitere Funktion in unserer Übung:
```c ```c
void loop() { void loop() {
@ -135,3 +135,5 @@ Jetzt können wir das Programm wieder kompilieren und hochladen. Es reicht sogar
Ob alles funktioniert siehst du, wenn die LED auf dem Arduino regelmäßig im Sekundentakt ein- und ausgeschaltet wird: Ob alles funktioniert siehst du, wenn die LED auf dem Arduino regelmäßig im Sekundentakt ein- und ausgeschaltet wird:
![Arduino blinkt](02_Blinken.gif) ![Arduino blinkt](02_Blinken.gif)
Hier gehts [weiter zur nächsten Übung](../03_Externe_LED/)

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -1,15 +1,15 @@
# Z-Lab Arduino-Grundkurs Projekt 3: Externe LED und mehrere LEDs # Z-Lab Arduino-Grundkurs Übung 3: Externe LED
In diesem Projekt lassen wir wieder LEDs blinken. In dieser Übung lassen wir wieder eine LED blinken.
Allerdings dieses Mal eine externe. Allerdings dieses Mal eine externe.
Zuerst öffnen wir das Projekt über den gewohnten Weg. Der Name ist "03_Externe_LED" Zuerst öffnen wir die Übung über den gewohnten Weg. Der Name ist "03_Externe_LED"
![Projekt öffnen](projekt_oeffnen.png) ![Übung öffnen](oeffnen.png)
Wenn du dieses Projekt öffnest wunderst du dich bestimmt. Das sieht ja genau so aus wie beim letzten Mal. Wenn du diese Übung öffnest wunderst du dich bestimmt. Das sieht ja genau so aus wie beim letzten Mal.
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. Genau! Um die externe (vorsicht, Spoiler) sogar beide LEDs anzusteuern reicht unser C-Wissen aus den letzten beiden Übungen 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.
Und wir müssen lernen, was ein Breadboard ist :) Und wir müssen lernen, was ein Breadboard ist :)
@ -31,7 +31,7 @@ So muss da aussehen, wenn wir fertig sind:
Für den Aufbau gehen wir wie folgt vor: Für den Aufbau gehen wir wie folgt vor:
* Die LED kommt in ein Breadboard * Die LED kommt in ein Breadboard
Die beiden Beinchen in zwei verschiedene Spalten stecken Die beiden Beinchen in zwei verschiedene Spalten stecken
* an die längere Seite der LED schließen wir den Widerstand an. * an die längere Seite der LED schließen wir den 220 Ohm Widerstand an.
Dazu stecken wir den Widerstand in die gleiche Spalte wie die LED 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 * 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. Dazu stecken wir ein rotes Kabel in die Spalte dem Widerstand und mit dem anderen Ende auf den Pin 12 des Arduino.
@ -43,9 +43,11 @@ Wenn alles fertig ist sieht das in etwa so aus:
![Externe LED Breadboard](externe_led_breadboard.png) ![Externe LED Breadboard](externe_led_breadboard.png)
So und dann geht's wieder ans Programmieren. So und dann geht's wieder ans Programmieren.
Und damit es ein bisschen spannender wird gibt es hier keinen fertigen Code.
Genaugenommen weißt du schon alles, was du wissen musst, damit die externe LED, die an PIN 12 angeschlossen ist, blinkt.
* Wie müssen wir den Code anpassen, damit die externe LED blinkt? Wenn du gar nicht weiter kommst kannst du hier drücken, um Lösungsvorschläge zu sehen:
<details> <details>
<summary>hier klicken für (zwei mögliche) Lösungen</summary> <summary>hier klicken für (zwei mögliche) Lösungen</summary>
@ -82,8 +84,6 @@ So und dann geht's wieder ans Programmieren.
``` ```
</details> </details>
## Und wie könnte es weiter gehen? ## Und wie könnte es weiter gehen?
* Was müssten wir denn tun, wenn wir beide LEDs (die interne und die externe) abwechselnd blinken lassen wollten? * Was müssten wir denn tun, wenn wir beide LEDs (die interne und die externe) abwechselnd blinken lassen wollten?
* Und wir müssten wir vorgehen, wenn wir 3 LEDs nacheinander blinken lassen wollen? * Und wir müssten wir vorgehen, wenn wir 3 LEDs nacheinander blinken lassen wollen?
@ -96,9 +96,25 @@ So und dann geht's wieder ans Programmieren.
### Lösung mit #define ### Lösung mit #define
```c ```c
#define LED1 12
#define LED2 13
TODO: hier Lösungsvorschläge void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
}
void loop() {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
delay(1000);
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
delay(1000);
}
``` ```
</details>
</details> </details>
</details>
Hier gehts [weiter zur nächsten Übung](../04_Piepser/)

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -1,12 +1,10 @@
TODO: Überarbeiten
# Z-Lab Arduino-Grundkurs Übung 4: Piepser # Z-Lab Arduino-Grundkurs Übung 4: Piepser
In dieser Übung erzeugen wir Töne mit einem Piepser. In dieser Übung erzeugen wir Töne mit einem Piepser.
Zuerst öffnen wir das Projekt über den gewohnten Weg. Der Name ist "04_Piepser" Zuerst öffnen wir die Übung über den gewohnten Weg. Der Name ist "04_Piepser"
![Projekt öffnen](projekt_oeffnen.png) ![Übung öffnen](oeffnen.png)
## Verkabeln wir den Piepser mit dem Arduino mit dem Arduino ## Verkabeln wir den Piepser mit dem Arduino mit dem Arduino
@ -84,5 +82,8 @@ void loop() {
delay(1000); delay(1000);
tone(PIEPSER, 500); tone(PIEPSER, 500);
delay(1000); delay(1000);
}
``` ```
</details> </details>
Hier gehts [weiter zur nächsten Übung](../05_Lichtsensor/)

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 155 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 358 KiB

After

Width:  |  Height:  |  Size: 363 KiB

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -1,22 +1,25 @@
TODO: Überarbeiten
# Z-Lab Arduino-Grundkurs Übung 5: Lichtsensor (analoger Sensor) # Z-Lab Arduino-Grundkurs Übung 5: Lichtsensor (analoger Sensor)
In dieser Übung lesen wir einen Lichtsensor, einen sog. analogen Sensor aus. In dieser Übung lesen wir einen Lichtsensor, einen sog. analogen Sensor aus.
Zuerst öffnen wir das Projekt über den gewohnten Weg. Der Name ist "05_Lichtsensor" Zuerst öffnen wir die Übung über den gewohnten Weg. Der Name ist "05_Lichtsensor"
![Projekt öffnen](projekt_oeffnen.png) ![Übung öffnen](oeffnen.png)
## Verkabeln wir den Piepser mit dem Arduino mit dem Arduino ## Verkabeln wir den Lichtsensor mit dem Arduino
* zuerst verbinden wir ein Beinchen des Lichsensors mit dem 5V-Anschluss des Arduino
* An das zweite Beinchen schließen wir einen 10k-Ohm Widerstand an
* Das zweite Beinchen des 10k-Ohm Widerstands verbinden wir mit GND auf dem Arduino
* Da, wo sich der Lichtsensor und das 10k-Ohm Widerstand "berühren" stecken wir noch ein Kabel zum Eingang A0 des Arduino
So muss da aussehen, wenn wir fertig sind: So muss da aussehen, wenn wir fertig sind:
<img src="04_Lichtsensor.svg"> <img src="05_Lichtsensor.svg">
So und dann geht's wieder ans Programmieren. So und dann geht's wieder ans Programmieren.
In der Datei 05_Piepser.ino finden wir (ohne die ganzen Kommentare) folgenden Quellcode: In der Datei 05_Lichtsensor.ino finden wir (ohne die ganzen Kommentare) folgenden Quellcode:
```c ```c
int sensorPin = A0; int sensorPin = A0;
@ -65,7 +68,6 @@ Jetzt nehmen wir den Wert, den uns der Lichtsensor gegeben hat und sagen der del
```c ```c
//TODO: Lösungsvorschlag anpassen
#define PIEPSER 12 #define PIEPSER 12
int ledPin = LED_BUILTIN; int ledPin = LED_BUILTIN;
int sensorPin = A0; int sensorPin = A0;
@ -91,7 +93,6 @@ void loop() {
```c ```c
//TODO: Lösungsvorschlag anpassen
int sensorPin = A0; int sensorPin = A0;
int ledPin = LED_BUILTIN; int ledPin = LED_BUILTIN;
@ -110,3 +111,4 @@ void loop() {
``` ```
</details> </details>
Hier gehts [weiter zur nächsten Übung](../06_Schalter/)

View File

@ -17,9 +17,13 @@ void setup() {
void loop() { void loop() {
buttonState = digitalRead(buttonPin); buttonState = digitalRead(buttonPin);
// Wenn (if) der Schalter gedrückt ist (HIGH steht für 1, also Strom fließt)...
if (buttonState == HIGH) { if (buttonState == HIGH) {
// DAnn mach das hier (LED an)
digitalWrite(ledPin, HIGH); digitalWrite(ledPin, HIGH);
// Ansonsten (else)
} else { } else {
// mach das hier (LED aus)
digitalWrite(ledPin, LOW); digitalWrite(ledPin, LOW);
} }
} }

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -1,12 +1,10 @@
TODO: Überarbeiten
# Z-Lab Arduino-Grundkurs Übung 6: Ein Schalter (ein digitaler Sensor) # Z-Lab Arduino-Grundkurs Übung 6: Ein Schalter (ein digitaler Sensor)
In dieser Übung verwenden wir einen Schalter. In dieser Übung verwenden wir einen Schalter.
Zuerst öffnen wir das Projekt über den gewohnten Weg. Der Name ist "05_Schalter" Zuerst öffnen wir die Übung über den gewohnten Weg. Der Name ist "06_Schalter"
![Projekt öffnen](projekt_oeffnen.png) ![Übung öffnen](oeffnen.png)
## Verkabeln wir den Piepser mit dem Arduino mit dem Arduino ## Verkabeln wir den Piepser mit dem Arduino mit dem Arduino

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,59 +1,40 @@
# Z-Lab Kurs Arduino-Grundlagen oder: Wir bauen eine Ampel # Z-Lab Kurs Arduino-Grundlagen
## Übersicht ## Übersicht
In diesem Kurs bauen wir mit einem Mikrocontroller, drei LEDs und einem Knopf eine Ampel. In diesem Kurs lernen wir, einen Mikrocontroller zu Programmieren und ein paar Sachen, die man dann damit machen kann.
* Zuerst einmal lernen wir, was der Unterschied zwischen einem Mikrocontroller und einem normalen PC ist. Zudem, was die Vor- und Nachteile eines Mikrocontrollers sind und was man damit z.B. alles machen kann Und hier gehts dann zu den einzelnen Übungen:
* Dann lernen wir die Grundstruktur eines Arduino-Programms und wie wir das Programm in Maschinensprache übersetzen und auf den Arduino laden. * [Übung 1: Grundstruktur](01_Grundstruktur/)
* Danach lernen wir, wie wir die auf dem Arduino feste eingebaute LED zum Blinken bringen. Zuerst lernen wir die Grundstruktur eines Arduino-Programms und wie wir das Programm in Maschinensprache übersetzen und auf den Arduino laden.
* Im nächsten Projekt lernen wir, was ein Breadboard ist und wie eine externe LED angeschlossen wird. * [Übung 2: Blinken](02_Blinken/)
* Im 4. Projekt lernen wir, wie wir einen Knopf mit dem Arduino auslesen können Danach lernen wir, wie wir die auf dem Arduino feste eingebaute LED zum Blinken bringen.
* Weil wir dann schon alles gelernt haben, um eine Ampel zu bauen kombinieren wir im letzten Projekt alles zur Ampel. * [Übung 3: Externe LED](03_Externe_LED/)
Das Ganze machen wir dann noch mit einer externen LED, hier lernst du das Breadboard kennen
* [Übung 4: Piepser](04_Piepser/)
In Übrung 4 erzeugen wir Töne mit dem Arduino
* [Übung 3: Lichtsensor](05_Lichtsensor/)
Hier lernst du, wie ein Lichtsensor verwendet werden kann
* [Übung 3: Schalter](06_Schalter/)
Und natürlich müssen wir auch wissen, wie Schalter funktionieren
## Materialliste ## Materialliste
Wir benötigen dazu folgendes: Wir benötigen dazu folgendes:
* 1x Arduino Uno * 1x Arduino Uno
* 3x LEDs. Am besten eine rote, eine gelbe und eine grüne * 1x LED
* Widerstände: 1x 220 Ohm und 1x 10k Ohm.
* 1x einen Tastknopf * 1x einen Tastknopf
* 1x ein sog. Breadboard * 1x ein sog. Breadboard
* 1x passiver Piepser
* Einen Satz Jumper-Kabel mit PINs auf beiden Seiten * Einen Satz Jumper-Kabel mit PINs auf beiden Seiten
* 3x Widerstände. 220Ohm - 1kOhm sollten funktionieren
## Was ist ein Mikrocontroller und was ist der Unterschied zu einem PC ## Vorbereitungen
PC: Viel größer, braucht viel Strom Damit du in der Arduino-IDE die Programme einfach öffnen kannst wie es in den Screenshots beschrieben ist musst du dieses Repository auf deinen Computer herunterladen.
Mikrocontroller: Kann ganz klein sein und kommt mit viel weniger Strom aus Die Dateien müssen in deinem Dokumentenverzeichnis ins Verzeichnis "Arduino" kopiert werden.
Das sieht dann so aus:
PC: Viel RAM und viel Festplatte ![Kurs herunterladen](kurs_herunterladen.png)
Mikrocontroller: Sehr wenig RAM und sehr wenig Flash-Speicher
PC: Es sind viele Programme auf der Festplatte gespeichert, die gestartet werden können
Mikrocontroller: Es ist nur ein Programm gespeichert
PC: Startet und dann können mehrere Programme gleichzeitig starten (z.B. Fortnite und Discord) oder wieder beendet werde
Mikrocontroller: Hier läuft immer nur ein Programm. So lange der Mikrocontroller Strom hat läuft es, schaltet man ihn ab läuft es nicht mehr. Wie bei einer Bohrmaschine
PC: Es ist nicht garantiert, in welcher Zeit ein PC auf eine Eingabe reagiert (das hängt damit zusammen, dass mehrere Programme gleichzeitig laufen aber zwischendrin immer wieder pausieren)
Mikrocontroller: Hier kann ausgerechnet werden, wie lange die Reaktionszeit auf eine Eingabe ist, sodass auch innerhalb einer garantierten Zeit auf diese reagiert werden kann (für sog. Echtzeitanwendungen)
PC: Teuer
Mikrocontroller: Gibt es schon sehr günstig (ab ca. 2€)
Mikrocontroller lassen sich auch sehr leicht erweitern um WLAN-Module, Bluetooth, Sensoren und Schalter.
Ein Mikrocontroller kann also z.B. verwendet werden, wenn nicht viel Platz und nur wenig Strom da ist. Also z.B. für:
* Sensoren wie Temperatur- und Luftfeuchtigkeitssensoren
* Schalter wie ein Licht
* Steuerungen von z.B. Robotern oder elektrischen Rolläden
## Die Übungen
Und hier gehts dann zu den einzelnen Übungen:
* [Übung 1: Grundstruktur](01_Grundstruktur)
* [Übung 2: Blinken](02_Blinken)
* [Übung 3: Externe LED](03_Externe_LED)
* [Übung 4: Piepser](04_Piepser)
* [Übung 3: Lichtsensor](05_Lichtsensor)
* [Übung 3: Schalter](06_Schalter)
Danach kannst du in der Arduino-IDE die Übungen öffnen.
Wie das geht siehst du in den einzelnen Übungen.