Teil 24: Abschlussprojekt: Sensorstation umsetzen
Lernziel: Die Bausteine zu einem robusten Programm 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?
Beginne mit dem externen LED-Blinkbeispiel. Ergänze Taster, ADC-Werte und optional das Display einzeln; teste jede Stufe vor der nächsten. Trenne Hardwarezugriff von Messwertberechnung. Schließlich dokumentierst du Firmwareversion, Pinbelegung, Aufbau, Bedienung und bekannte Grenzen. Erweitere erst dann um WLAN.
Schritt für Schritt
fn prozent_aus_rohwert(raw: u16) -> u8 {
((u32::from(raw).min(4095) * 100) / 4095) as u8
}
#[test]
fn prueft_skala() {
assert_eq!(prozent_aus_rohwert(0), 0);
assert_eq!(prozent_aus_rohwert(4095), 100);
}
Einordnung: Der Code ist eine hardwareunabhängige Kernfunktion; das Gesamtsystem entsteht durch Kombination getesteter Boardbeispiele.
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 eine fünfteilige Abnahmeliste und eine kurze README für deine Sensorstation.
Musterlösung anzeigen
Checkliste: Boot erfolgreich, ADC-Werte plausibel, Taster entprellt, LED/Display aktualisiert, Neustart ohne Fehler. README mit Hardware, Pins, Build/Flash, Bedienung und Fehlerquellen.
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
