# Z-Lab Kurs Arduino-Grundlagen oder: Wir bauen eine Ampel
## Übersicht

In diesem Kurs bauen wir mit einem Mikrocontroller, drei LEDs und einem Knopf eine Ampel.

* 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
* Dann lernen wir die Grundstruktur eines Arduino-Programms und wie wir das Programm in Maschinensprache übersetzen und auf den Arduino laden.
* Danach lernen wir, wie wir die auf dem Arduino feste eingebaute LED zum Blinken bringen.  
* Im nächsten Projekt lernen wir, was ein Breadboard ist und wie eine externe LED angeschlossen wird.  
* Im 4. Projekt lernen wir, wie wir einen Knopf mit dem Arduino auslesen können
* Weil wir dann schon alles gelernt haben, um eine Ampel zu bauen kombinieren wir im letzten Projekt alles zur Ampel.

## Materialliste

Wir benötigen dazu folgendes:
* 1x Arduino Uno
* 3x LEDs. Am besten eine rote, eine gelbe und eine grüne
* 1x einen Tastknopf
* 1x ein sog. Breadboard
* 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

PC: Viel größer, braucht viel Strom  
Mikrocontroller: Kann ganz klein sein und kommt mit viel weniger Strom aus

PC: Viel RAM und viel Festplatte  
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 Projekte

Und hier gehts dann zu den einzelnen Projekten:
* [Projekt 1: Grundstruktur](01_Grundstruktur)
* [Projekt 2: Blinken](02_Blinken)
* [Projekt 3: Externe LED und mehrere LEDs](03_Externe_LED)

