Teil 13: I²C-Bus verstehen
Lernziel: Sensoren und Displays über zwei Signalleitungen verbinden.
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?
I²C nutzt SDA und SCL; mehrere Geräte teilen sich den Bus, solange sie unterschiedliche Adressen haben. Oft sind Pull-up-Widerstände nötig, manche Breakout-Boards bringen sie bereits mit. Mit einem Scan lässt sich erkennen, ob ein Gerät antwortet. Achtung: Anschluss und Pinmux müssen zum Board passen.
Schritt für Schritt
Beispielverdrahtung für einen Pico:
Pico GPIO4 -> I²C SDA
Pico GPIO5 -> I²C SCL
Pico 3V3 -> Modul VCC (wenn 3,3-V-tauglich)
Pico GND -> Modul GND
Einordnung: Die Verdrahtung ist ein Anschlussbeispiel, noch kein Programm.
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
Überprüfe das Datenblatt eines I²C-Moduls: Spannung, Adresse und Pull-ups.
Musterlösung anzeigen
Eine mögliche OLED-Adresse ist 0x3C, sie muss aber am realen Modul überprüft werden.
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
