Phantom YoYo Hochsensibler Wassersensor mit MCP3008 ADC am Raspberry Pi
In dieser Anleitung verbinden wir den Phantom YoYo hochsensiblen Wassersensor mit dem MCP3008 8-Kanal 10-Bit ADC und lesen die Daten mit einem Raspberry Pi 2 unter Windows 10 IoT Core und C# aus. Der MCP3008 wandelt analoge Signale in 10-Bit-Digitalwerte (0–1023) um, die auf jede Referenzspannung skaliert werden können.
Warum MCP3008?
Der MCP3008 ist ein kompakter, kostengünstiger ADC mit SPI-Schnittstelle. Seine 10-Bit-Auflösung liefert 1024 diskrete Stufen, was feine Spannungsunterschiede erlaubt. Mit 3,3 V Referenz lässt sich der Sensorwert in Spannung umrechnen:
voltage = (reading / 1023.0) * Vref
Beispiel: Rohwert 523 entspricht:
523 / 1023 * 3.3 ≈ 1,687 V
Messen Sie immer die tatsächliche Versorgungsspannung (z. B. 3,301 V an meinem Pi) und nutzen Sie diesen Wert als Vref für höhere Genauigkeit.
Hardware-Übersicht
- Sensor: Phantom YoYo Wassersensor – 3 Pins (–, +, s). – an Pi-GND, + an 3,3 V (oder 5 V), s an MCP3008 Kanal 1.
- MCP3008: 8 Eingänge, SPI-Pins, Vref, Vdd, AGND. Vref an 3,3 V, AGND an Pi-GND, Vdd an 3,3 V, GND an Pi-GND.
- Potentiometer: Optional – zur Demonstration der ADC-Wandlung an Kanal 0.
Verdrahtungsplan
Siehe beigefügtes Schaltbild für Pin-Mapping. Wichtige Verbindungen:
- MCP3008 Vref (Pin 15) → Pi 3,3 V
- MCP3008 AGND (Pin 14) → Pi GND
- MCP3008 Vdd (Pin 16) → Pi 3,3 V
- MCP3008 CH0 (Pin 1) → Potentiometer-Ausgang
- MCP3008 CH1 (Pin 2) → Wassersensor s-Pin
- SPI-Leitungen (CS, CLK, DO, DI) → Pi SPI-Pins
Software-Setup
Projekttyp: Universal Windows Platform. Zwei Anzeigen zeigen:
- Rohspannung vom Potentiometer (Kanal 0).
- Normalisierter Wasserstand (0–100) vom Sensor (Kanal 1).
MCP3008 initialisieren
private Mcp3008 _mcp3008;
protected override async void OnNavigatedTo(NavigationEventArgs e) {
_mcp3008 = new Mcp3008(0); // SPI Bus 0
await _mcp3008.InitializeAsync();
}
Kanal auslesen
float voltage = _mcp3008.Read(Mcp3008.Channels.Single0).AsScaledValue(3.3f);
Für differentielle Messung Single0 durch Differential0 ersetzen. Beim Verlassen der Seite Objekt freigeben:
_mcp3008.Dispose();
_mcp3008 = null;
Kalibrierung & Messung
Mit Multimeter Potentiometer-Spannung gegen MCP3008-Wert prüfen. Messgerät auf Gleichspannung stellen; beide Werte vergleichen zur Validierung.
App ausführen
- In ARM-Konfiguration bauen, Remote Machine wählen.
- Pi-IP in Projekteigenschaften eintragen, Authentifizierung deaktivieren.
- F5 drücken zum Deploy und Start.
Die App zeigt ein 360°-Anzeigeinstrument für Wasserstand. Hinweis: Die Sensorausgabe ist nicht strikt linear; höhere Werte bedeuten mehr Wasser, die Beziehung ist empirisch. Die Anzeige dient der Illustration.
Quellcode und weitere Dokumentation auf der Projektseite verfügbar.
Herstellungsprozess
- Funktionsweise von Rasensprengern: Design, Geschichte und moderne Fertigung
- Das Nudelholz: Von etruskischen Ursprüngen bis zur modernen Handwerkskunst
- ON Semiconductor lanciert Low-Power, High-Frame-Rate ARX3A0 Image Sensor für Intelligent Vision
- DS18B20 1-Wire Digitalthermometer an Raspberry Pi anschließen – Schritt-für-Schritt-Anleitung
- Analoge Sensoren mit MCP3008 an Raspberry Pi anschließen – Verdrahtung, SPI-Setup und Python-Beispielcode
- Phantom YoYo Hochsensibler Wassersensor mit MCP3008 ADC am Raspberry Pi
- Insight: Weicher haptischer Sensor verbessert robotische Tastempfindlichkeit
- ToughMet® 3TS Rohr TS105 (C72900) – Hochfeste, galling-beständige Legierung für extreme Belastungen
- Industrielle Hochdruckpumpen für zuverlässige Bewässerungssysteme
- Automatische Wasserpumpen: Funktionsweise & Bedeutung