Phantom YoYo Hoog-gevoelige Watersensor Integreren met MCP3008 ADC op Raspberry Pi
In deze gids lopen we door het aansluiten van de Phantom YoYo hoog-gevoelige watersensor aan de MCP3008 8-kanaals 10-bit ADC, en het uitlezen van de data met een Raspberry Pi 2 met Windows 10 IoT Core en C#. De MCP3008 converteert analoge signalen naar 10-bit digitale waarden (0–1023) die geschaald kunnen worden naar elke referentiespanning.
Waarom de MCP3008 Gebruiken?
De MCP3008 is een compacte, goedkope ADC met SPI-interface. De 10-bit resolutie geeft 1024 discrete niveaus, wat fijn spanningsdiscriminatie toelaat. Met een 3,3 V referentie kan de sensoruitgang omgerekend worden naar spanning met:
spanning = (meting / 1023,0) * Vref
Bijvoorbeeld, een ruwe meting van 523 komt overeen met:
523 / 1023 * 3,3 ≈ 1,687 V
Meet altijd de daadwerkelijke voedingspanning (bijv. 3,301 V op mijn Pi) en gebruik die waarde voor Vref om de nauwkeurigheid te verbeteren.
Hardware-overzicht
- Sensor: Phantom YoYo Watersensor – 3 pinnen (–, +, s). Verbind – met Pi-massa, + met 3,3 V (of 5 V), s met MCP3008 kanaal 1.
- MCP3008: 8 invoerkanalen, SPI-pinnen, Vref, Vdd, en AGND. Verbind Vref met 3,3 V, AGND met Pi-massa, Vdd met 3,3 V, en ground met Pi-massa.
- Potentiometer: Optioneel – gebruikt om ADC-conversie te demonstreren op kanaal 0.
Aansluitschema
Raadpleeg het bijgevoegde schema voor pin-mapping. Belangrijkste verbindingen:
- 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-uitgang
- MCP3008 CH1 (Pin 2) → Watersensor s-pin
- SPI-lijnen (CS, CLK, DO, DI) → Pi SPI-pinnen
Software-instelling
Projecttype: Universal Windows Platform. Twee meters tonen:
- Ruwe spanning van de potentiometer (kanaal 0).
- Genormaliseerd waterniveau (0–100) van de sensor (kanaal 1).
MCP3008 Initialiseren
private Mcp3008 _mcp3008;
protected override async void OnNavigatedTo(NavigationEventArgs e) {
_mcp3008 = new Mcp3008(0); // SPI bus 0
await _mcp3008.InitializeAsync();
}
Een Kanaal Uitlezen
float voltage = _mcp3008.Read(Mcp3008.Channels.Single0).AsScaledValue(3.3f);
Voor differentiële meting, vervang Single0 met Differential0. Verwijder het object bij navigatie weg:
_mcp3008.Dispose();
_mcp3008 = null;
Kalibratie & Meting
Gebruik een multimeter om de potentiometerspanning te verifiëren tegen de MCP3008-meting. Zet de meter op DC-spanning; vergelijk de twee waarden om de nauwkeurigheid te valideren.
De App Draaien
- Build in ARM configuratie, kies Remote Machine.
- Stel het IP-adres van de Pi in de projecteigenschappen in en schakel authenticatie uit.
- Druk F5 om te deployen en te starten.
De app toont een 360° meter voor waterniveau. Let op: de sensoruitgang is niet strikt lineair; hogere waarden corresponderen met meer water maar de relatie is empirisch. De meter is voor illustratieve doeleinden.
Broncode en aanvullende documentatie zijn beschikbaar op de projectpagina.
Productieproces
- Hoe Grasperspirators Werken: Ontwerp, Geschiedenis en Moderne Productie
- De Deegroller: Van Etrusken tot Moderne Vakmanschap
- Vaatwastechnologie: geschiedenis, ontwerp en toekomstige innovaties
- Hoe een DS18B20 One-Wire Digitale Thermometer aan te Sluiten op een Raspberry Pi – Stapsgewijze Handleiding
- Analoge sensoren verbinden met Raspberry Pi via MCP3008 – Bedrading, SPI-setup en voorbeeld Python-code
- Phantom YoYo Hoog-gevoelige Watersensor Integreren met MCP3008 ADC op Raspberry Pi
- Industriële Hoogdrukpompen voor Betrouwbare Irrigatiesystemen
- Automatische waterpompen: hoe ze werken en waarom ze belangrijk zijn
- ON Semiconductor lanceert laagstroom, hoge-frame-rate ARX3A0-beeldsensor voor intelligente vision
- Insight: Een zachte haptische sensor verbetert robot tastgevoeligheid
- ToughMet® 3TS Buis TS105 (C72900) – Hoge-Sterkte, Wrijvingsvrije Legering voor Extreme Belasting