Teil 10: PWM und LED-Helligkeit
Lernziel: Pulsweitenmodulation kennenlernen.
Voraussetzungen: Der Rust-PC-Grundlagenkurs bzw. Grundkenntnisse in Rust; außerdem die vorangegangenen Pico-Lektionen. Zielboard: Pico 2 / Pico 2 W (ARM); Hinweise für RP2040 in der Kursübersicht.
Worum geht es?
PWM schaltet einen Ausgang sehr schnell ein und aus. Das Verhältnis von Einschaltzeit zur Periode bestimmt die mittlere Leistung. Der Pico besitzt Hardware-PWM-Kanäle. Für eine LED genügt ein kleiner Strom; Motoren, Heizelemente oder Lüfter brauchen eine passende Treiberstufe.
Schritt für Schritt
// Prinzip in Pseudocode (keine kopierfertige Embassy-API):
// duty = 0 %: aus
// duty = 25 %: dunkel
// duty = 50 %: mittel
// duty = 100 %: voll
// Frequenz und Duty-Cycle im PWM-Treiber einstellen.
Einordnung: PWM-Typen sind versionsabhängig; das konkrete Beispiel aus dem fixierten Embassy-Stand übernehmen.
Hintergrund und häufige Fehler
- Board prüfen: Pico/Pico W (RP2040) und Pico 2/Pico 2 W (RP2350) brauchen unterschiedliche Compilerziele und Boardkonfigurationen.
- Hardware zuerst: Vor dem Flashen Pinbelegung, gemeinsame Masse und 3,3-V-Pegel prüfen.
- Versionsstand: Übernehme die passenden Embassy-Beispiele und Abhängigkeiten aus demselben Repository-Stand; APIs ändern sich zwischen Releases.
- Schrittweise testen: Erst ein kleines funktionsfähiges Beispiel, danach jeweils genau eine Änderung vornehmen.
Selbst ausprobieren
Erstelle mit dem passenden PWM-Beispiel aus examples/rp eine 10/50/90-%-Helligkeitsfolge.
Musterlösung anzeigen
Duty-Cycle nacheinander auf etwa 10, 50 und 90 % der jeweiligen PWM-Top-Periode einstellen; zwischen den Schritten mit Timer warten.
Dokumentation für deine Versuche
Notiere verwendetes Board, Verdrahtung, Git-Commit oder Bibliotheksversion, Build-Befehl, Ergebnis und aufgetretene Fehlermeldungen. Halte dazu ein Foto oder einen Screenshot fest, der später in den Website-Beitrag übernommen werden kann.
Weiterführende Informationen
- Embassy – offizielles Repository und RP-Beispiele
- Embassy-Dokumentation
- RP-HAL mit RP2040-/RP235x-Hinweisen
