class: center, middle  ## Einstieg ### Elektronik + Programmierung mit Raspberry Pi Pico ### Hauke Goos-Habermann #### https://weisheit.goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Bastelt mal wieder etwas :-) --- ### 23. Kieler Open Source und Linux Tage  *Dieses Video ist eine **Vorschau** zu meinem Workshop "Einstieg: Elektronik + Programmierung mit Raspberry Pi Pico", der am 19.9. bei unseren Kieler Open Source und Linux Tagen stattfinden wird.* KieLux im Überblick: * **18.9.2025**
Linux Presentation Day (LPD)
* **19\. und 20.9.2025** * **
Ausstellung
** * **
Vorträge
** * **
Workshops
** (Anmeldung erforderlich) * **Aktionen:** Gemeinsames Grillen und Frühstück, Verlosungen, Rätsel, Kinderecke, Linux-Installation und alles, was vor Ort mehr Spaß macht :-) ⇒ Mehr Informationen: https://www.kielux.de --- ### Raspberry Pi Pico? 
2x 133 MHz ARM Cortex-M0+
264 KB SRAM (Programm + Daten)
2 MB Flash
Analog-Digital-Umsetzer (ADC)
30 GPIOs (frei verwendbare Ein-/Ausgabe-Anschlüsse)
USB 1.1 (Host- und Gerätemodus)
4 PIOs (Programmierbare Ein-/Ausgabe als Zustandsmaschine)
--- ### Ein-/Ausgänge  .copyright[Lizenz:
Attribution-NoDerivatives 4.0 International (CC BY-ND) ⇐ mehr Datenblätter
] --- ### Programmierumgebung  Neben der Hardware gibt es auch noch den **Softwareanteil** :-) 1. **
Firmware
** mit MicroPython herunterladen. 2. Am Pico den **Knopf drücken** und **dann** an den Rechner **anschließen** 3. Laufwerk mounten 4. Firmwaredatei hineinkopieren 5. **
Thonny
** installieren 1. Extras ⇒ Optionen... 2. Interpreter: MicroPython (Raspberry Pi Pico) auswählen 8. PC-Pico-Dateikopierprogramm installieren ```bash apt install micropython-mpremote ``` --- ### Spielmaterial :-)  Für erste Gehversuche brauchen wir zusätzlich ein **paar Bauteile**: Steckbrett, LEDs, RGB-LED, Taster, Widerstände, Transistor, 2 Summer (aktiv + passiv), Potentiometer, Ifrarot-Näherungssensor, Fotowiderstand, Thermistor, Neigungsschalter, Servomotor, Bewegungssensor, RGB-LED-Streifen und Kabel. Das kann man sich – je nach Geldbeutel und angepeilten Projekten – **selbst zusammenstellen** oder ein **Komplettpaket** wie das **
LAFVIN Raspberry Pi Pico Starter Kit
** nehmen. Zum Starter Kit gibt es **englischsprachige Lerneinheiten**: 12 für
MicroPython
, 7 für
Piper Make
und 12 für C. Die Dokumentation erklärt auch, **wie Bauteile funktionieren** und warum diese benötigt werden. --- ### Projekt 1: Eingebaute LED blinken lassen Im einfachsten Aufbau wird der Pico in das Steckbrett gesteckt (damit er nicht wegrutscht) und per USB mit dem Rechner verbunden.  Graue Bereiche einfach ignorieren :-) --- ### Projekt 1: Eingebaute LED blinken lassen  ```python # Importiere Hardware- und Zeitfunktionen import machine import time # Definiere eine GPIO-Pin-Variable für die eingebauten LED # Der Pin (Nr. 25) wird als Ausgang konfiguriert. led_onboard = machine.Pin(25, machine.Pin.OUT) # Unendlich-Schleife while True: # Setze den Pin-Output auf HIGH (1): LED leuchtet led_onboard.value(1) # Warte eine Sekunde time.sleep(1) # Setze den Pin-Output auf LOW (0): LED aus led_onboard.value(0) # Warte erneut 1 Sekunde time.sleep(1) ``` --- ### Wichtig!  Damit nichts kaputtgeht: * **Zusammenstecken** der Schaltung immer nur bei **abgezogenem USB-Stecker**. * Die Position der GPIO-Anschlüsse immer **zweimal abzählen**, damit wir Kabel, Widerstände, etc. auch wirklich an die **richtige Stelle** stecken. * **Unbedingt vermeiden**, den **5V-GPIO-Anschluß** mit einem anderen GPIO-Pin zu verbinden, da 5V den **Pico zerstören** kann. * Die **Stärke/Größe** von **Widerständen doppelt überprüfen**. --- ### Projekt 2: Externe LED mit Taster Statt der eingebauten LED können wir auch eine **externe LED** verwenden, die zusätzlich mit einem **Taster** (Schalter, der nur solange Strom durchläßt, wie er gedrückt wird) **angeschaltet** wird.  --- ### Wie funktioniert ein Steckbrett? In ein **Steckbrett** können elektronische Bauteile gesteckt werden, um diese **ohne Löten** untereinander zu verbinden. Alle durchgehend **gelb markierten Löcher** teilen sich **denselben elektrischen Kontakt**.  .copyright[Lizenz:
Andreas B Mundt CC BY-SA 3.0
] --- ### Was ist ein Stromkreis?  Damit wir uns besser etwas darunter vorstellen können, eine Analogie mit Wasser :-) **Wasser**, welches aus ganz vielen ganz kleinen Wasserteilchen besteht, **fließt** ausgehend von der **Quelle** durch einen **Fluß** ins **Meer**. Auf diesem Weg kann das **fließende Wasser** Arbeit verrichten und z.B. ein **Wasserrad** (wie bei einer alten Mühle) antreiben. Ähnlich verhält sich ein **Stromkreis**, bei dem von der Quelle (**Pluspol**) ausgehend geladene Teilchen durch einen **Draht** zum **Minuspol fließen**. Schließt man dazwischen einen **Motor** an, so läuft er, solange sich die **Ladungsteilchen bewegen**. --- ### Was sind Spannung und Strom?  Damit sich **Wasser** bewegen kann, braucht es **Druck** aus der Quelle. Je **höher** der **Druck**, desto **schneller** kann das Wasser **fließen**. Im Gegensatz zu einem Fluß, bei dem Wasser fließt, gibt es in einem **stillen See keinen Druck**. Ein Wasserrad würde also stillstehen. Beim Strom ist es ähnlich, denn dort sorgt die **Spannung** dafür, daß sich die **Ladungsteilchen bewegen**. Eine **stärkere Spannung** kann zu einem **höheren Strom** führen. **Ohne Spannung** gibt es **keinen Strom**. Der Motor würde also stillstehen. * Wasserstrom ≈ elektrischer Strom * Wasserdruck ≈ elektrische Spannung Ist der Fluß (durch eine Schleuse) oder der Draht (durch eine Lücke) unterbrochen, so dreht sich nichts, da nichts fließen kann :-) --- ### Was macht ein Widerstand?  Ein **Widerstand** ist ein **Bauteil**, das wie eine Verengung oder ein teils geöffnete Schleuse funktioniert. Das **Wasser** bzw. die **Ladungsteilchen** werden an dieser Engstelle **gebremst**. ***Ungebremsten Strom*** können wir uns wie einen **starken Wasserstrahl** vorstellen, der etwas kaputtmachen könnte. Durch einen Widerstand wird der **Strom gebremst**, was wichtig sein kann, um **Bauteile** (z.B. LEDs) **nicht zu beschädigen**. --- ### Projekt 2: Externe LED mit Taster  ```python # Importiere Hardware- und Zeitfunktionen import machine import time # Tasterzustand (Eingabe = IN) als Variable definieren button = machine.Pin(16, machine.Pin.IN) # LED über GPIO15 anschließen led = machine.Pin(15, machine.Pin.OUT) while True: # Zustand des Tasters: 0 = gedrückt if button.value() == 0: led.value(1) # 1 = Losgelassen else: led.value(0) ``` --- ### 0 = gedrückt???  Eine ausreichend hohe **Spannung**, die an einem GPIO-Anschluß anliegt, führt in Software zu einer **logischen 1**, **fehlende Spannung** (GND, Masse, Erdung) zu einer **0**. Eine Schaltung kann so aufgebaut sein, daß durch das Drücken eines Tasters die am GPIO-Anschluß anliegende Dauerspannung (3,3V) auf 0 reduziert wird. Durch einen **Pull-Up-Widerstand** liegt die Dauerspannung an, ohne daß ein großer Stom fließt. Mit einem **Pull-Down-Widerstand** wird der GPIO-Anschluß auf 0 heruntergezogen. Der Pico einhält integrierte Pull-Up- und Pull-Down-Schaltungen, die per Software aktiviert werden können. Z.B. ```python pin = Pin(16, Pin.IN, Pin.PULL_UP) ``` --- ### Bonus: Was macht ein Transistor?  Ein Transistor ist wie ein **Wasserhahn für Strom**: Mit einem Wasserhahn können wir bestimmen, **wieviel Wasser** durch ein Rohr **fließt**: Von geschlossen bis voll aufgedreht. Genauso dreht ein Transistor den Stromfluß in einem Stromkreis auf oder zu. Hierbei wird allerdings nicht per Hand auf- und zugedreht, sondern durch eine Steuerspannung. Transistoren funktionieren also wie kleine **elektrische Schalter**. --- ### Bonus: Was macht ein Servomotor?  Ein **Servomotor** hat – wie ein normaler Motor – eine Stange die sich **dreht**, wenn Strom fließt. An diese Stange können alle möglichen Dinge, wie ein **Zahnrad** oder ein **Roboterarm**, **angeschlossen** werden. Anders als ein normaler Motor, kann einem **Servomotor** aber gesagt werden, **wie weit** (z.B. Vierteldrehung) oder **zu welcher Position** (z.B. Arm senkrecht nach oben) er sich zu **drehen** hat. --- ### Bonus: Was ist PWM?  PWM, steht für **P**uls**w**eiten**m**odulation und funktioniert wie ein **Lichtschalter**, den man so **schnell an und aus** schaltet, daß man das Blinken einer Lampe mit den Augen gar nicht mehr siehst. Wenn die Lampe die **Hälfte der Zeit** an und die andere Hälfte aus ist, dann **leuchtet** sie nur **halb so hell**, als wenn sie die ganze Zeit an wäre. Ist sie **fast immer an**, wird sie **sehr hell**. Ist sie **meist aus**, leuchtet sie nur **ganz schwach**. Mit PWM kann man auch andere Dinge steuern: z.B. wie schnell ein Motor dreht. --- class: center, middle  ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de