5.2 KiB
Meet bodemvocht - Raspberry Pi
In dit deel van de les voeg je een capacitieve bodemvochtsensor toe aan je Raspberry Pi en lees je waarden ervan uit.
Hardware
De Raspberry Pi heeft een capacitieve bodemvochtsensor nodig.
De sensor die je gaat gebruiken is een Capacitieve Bodemvochtsensor, die bodemvocht meet door de capaciteit van de bodem te detecteren, een eigenschap die verandert naarmate het bodemvocht verandert. Naarmate het bodemvocht toeneemt, daalt de spanning.
Dit is een analoge sensor, dus hij gebruikt een analoge pin en de 10-bit ADC in de Grove Base Hat op de Pi om de spanning om te zetten in een digitaal signaal van 1-1.023. Dit wordt vervolgens via I²C verzonden via de GPIO-pinnen op de Pi.
Verbind de bodemvochtsensor
De Grove bodemvochtsensor kan worden aangesloten op de Raspberry Pi.
Taak - verbind de bodemvochtsensor
Verbind de bodemvochtsensor.
-
Steek één uiteinde van een Grove-kabel in de aansluiting op de bodemvochtsensor. Hij past maar op één manier.
-
Met de Raspberry Pi uitgeschakeld, verbind je het andere uiteinde van de Grove-kabel met de analoge aansluiting gemarkeerd A0 op de Grove Base Hat die op de Pi is bevestigd. Deze aansluiting is de tweede van rechts, op de rij aansluitingen naast de GPIO-pinnen.
- Steek de bodemvochtsensor in de grond. Hij heeft een 'hoogste positie lijn' - een witte lijn over de sensor. Steek de sensor tot aan, maar niet voorbij deze lijn.
Programmeer de bodemvochtsensor
De Raspberry Pi kan nu worden geprogrammeerd om de aangesloten bodemvochtsensor te gebruiken.
Taak - programmeer de bodemvochtsensor
Programmeer het apparaat.
-
Zet de Pi aan en wacht tot hij is opgestart.
-
Start VS Code, direct op de Pi of via de Remote SSH-extensie.
⚠️ Je kunt de instructies voor het instellen en starten van VS Code in nightlight - les 1 indien nodig raadplegen.
-
Maak vanuit de terminal een nieuwe map in de home-directory van de
pi
-gebruiker genaamdsoil-moisture-sensor
. Maak een bestand in deze map genaamdapp.py
. -
Open deze map in VS Code.
-
Voeg de volgende code toe aan het bestand
app.py
om enkele vereiste bibliotheken te importeren:import time from grove.adc import ADC
De
import time
-verklaring importeert detime
-module die later in deze opdracht zal worden gebruikt.De
from grove.adc import ADC
-verklaring importeert deADC
uit de Grove Python-bibliotheken. Deze bibliotheek bevat code om te communiceren met de analoog-naar-digitaal-converter op de Pi Base Hat en spanningen van analoge sensoren uit te lezen. -
Voeg de volgende code hieronder toe om een instantie van de
ADC
-klasse te maken:adc = ADC()
-
Voeg een oneindige lus toe die leest van deze ADC op de A0-pin en het resultaat naar de console schrijft. Deze lus kan vervolgens 10 seconden pauzeren tussen de metingen.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Voer de Python-app uit. Je zult de bodemvochtmetingen in de console zien verschijnen. Voeg wat water toe aan de grond of verwijder de sensor uit de grond en zie de waarde veranderen.
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
In het voorbeeldoutput hierboven kun je zien dat de spanning daalt wanneer er water wordt toegevoegd.
💁 Je kunt deze code vinden in de code/pi map.
😀 Je programma voor de bodemvochtsensor is een succes!
Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsservice Co-op Translator. Hoewel we ons best doen voor nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.