Teil 14: Text auf einem OLED anzeigen
Lernziel: Display-Treiber und Framebuffer unterscheiden.
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?
SSD1306 und SH1106 sind ähnliche, aber nicht identische OLED-Controller. Für Rust gibt es embedded-graphics und passende Displaytreiber. Wähle für die erste Umsetzung ein eindeutig identifiziertes SSD1306-I²C-Modul. Der Displaytreiber verwaltet die Datenübertragung, embedded-graphics zeichnet Text oder primitive Formen.
Schritt für Schritt
// Konzept-Skizze (kein vollständiges Programm):
// 1. I²C-Peripherie und Pins initialisieren
// 2. SSD1306-Treiber für I²C erzeugen
// 3. Display initialisieren
// 4. Text mit embedded-graphics zeichnen
// 5. Framebuffer zum Display übertragen
Einordnung: Auf die Treiberversion und die richtige SSD1306/SH1106-Zuordnung achten.
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
Zeichne die Anzeige „Temperatur: 23 C“ und eine einfache Fortschrittsleiste als Layoutskizze.
Musterlösung anzeigen
Oben eine Statuszeile, darunter Temperaturtext; unten ein Rechteckrahmen mit gefülltem Balken.
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
