class: center, middle  ## So wird der Raspberry Pi Pico zum mp3-Player mit entspannendem Meeresrauschen ### 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 :-) --- ### Raspberry Pi Pico 1? 
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)
Mehr in
Einstieg: Elektronik + Programmierung mit Raspberry Pi Pico
--- ### 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**. --- ### Was brauchen wir noch?  Hier Eure ***Einkaufsliste***, wenn Ihr das Projekt nachbauen wollt: * Raspberry Pi Pico (Version egal) * Kleiner Lautsprecher (**wirklich klein**, z.B. 2W, 8Ω) * Steckbrett und Steckverbinder/Kabel * Fotowiderstand * NPN-Transistor (z.B. S8050 oder ähnlich) * Widerstand 1KΩ * Widerstand 10KΩ * Batteriehalter mit Akkus und Kabel (zusammen ab 1,8V bis **maximal 5,5V**) --- ### So sieht es aus 
Fritzing-Datei
mit dem Steckplatinenaufbau. --- ### CircuitPython  Anders als in "
Einstieg: Elektronik + Programmierung mit Raspberry Pi Pico
" verwenden wir dieses Mal **
CircuitPython
**, welches für dieses Projekt interessante Eigenschaften besitzt: * Der **Pico** wird zum **USB-Stick**, der normal eingehängt werden kann * **Quelltexte** können direkt **auf dem Laufwerk bearbeitet** werden * **Zusätzliche Dateien** (z.B. mp3s oder Bibliotheken) können im *knappen Speicher* abgelegt werden * **code.py** wird **beim Start** (wenn Strom anliegt) oder bei Änderungen ausgeführt * **mp3s** können auf dem Pico **in Software dekodiert** und per PWM ausgegeben werden * Mehrere **Audioquellen** können live **zusammengemischt** werden * **Größer** als MicroPython (z.B. Pico 1 1,7MB zu 650KB) Quelltext
code.py
für das Projekt. --- ### Wasser Marsch!  Damit es auch so richtig rauschen (und möwen) kann, brauchen wir natürlich ein paar **Tondateien**, die Ihr z.B. von **
Freesound
** (unter verschiedenen freien Lizenzen) herunterladen könnt. Die heruntergeladenen Dateien könnt Ihr mit **
Audacity
** oder **
Tenacity
** bearbeiten. Der Pico und CircuitPython bzw. der Software-Audio-Mixer funktionieren gut mit **22,1-KHz-Mono-VBR-mp3s**. --- ### Grundlagen: 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**. In diesem Projekt verwenden wir den Transistor, um einn kleinen Verstärker zu realisieren. Der Strom für den Lautsprecher kommt aus dem 3,3V-Pin, der höhere Ströme als die GPIO-Pins erlauben. --- ### Grundlagen: 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 oder wie die Membran eines Lautsprechers schwingt. --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de