5.0 KiB
Mål jordfuktighet - Raspberry Pi
I denne delen av leksjonen skal du legge til en kapasitiv jordfuktighetssensor til din Raspberry Pi og lese verdier fra den.
Maskinvare
Raspberry Pi trenger en kapasitansbasert jordfuktighetssensor.
Sensoren du skal bruke er en Kapasitiv Jordfuktighetssensor, som måler jordfuktighet ved å oppdage jordens kapasitans, en egenskap som endrer seg med fuktighetsnivået. Når jordfuktigheten øker, synker spenningen.
Dette er en analog sensor, så den bruker en analog pinne og 10-bits ADC i Grove Base Hat på Pi for å konvertere spenningen til et digitalt signal fra 1-1 023. Dette sendes deretter over I²C via GPIO-pinnene på Pi.
Koble til jordfuktighetssensoren
Grove jordfuktighetssensoren kan kobles til Raspberry Pi.
Oppgave - koble til jordfuktighetssensoren
Koble til jordfuktighetssensoren.
-
Sett den ene enden av en Grove-kabel inn i kontakten på jordfuktighetssensoren. Den kan kun settes inn på én måte.
-
Med Raspberry Pi slått av, koble den andre enden av Grove-kabelen til den analoge kontakten merket A0 på Grove Base Hat som er festet til Pi. Denne kontakten er den andre fra høyre, på raden av kontakter ved siden av GPIO-pinnene.
- Sett jordfuktighetssensoren inn i jorden. Den har en 'høyeste posisjonslinje' - en hvit linje på tvers av sensoren. Sett sensoren inn opp til, men ikke forbi, denne linjen.
Programmer jordfuktighetssensoren
Raspberry Pi kan nå programmeres til å bruke den tilkoblede jordfuktighetssensoren.
Oppgave - programmer jordfuktighetssensoren
Programmer enheten.
-
Slå på Pi og vent til den starter opp.
-
Start VS Code, enten direkte på Pi eller ved å koble til via Remote SSH-utvidelsen.
⚠️ Du kan referere til instruksjonene for å sette opp og starte VS Code i nightlight - leksjon 1 om nødvendig.
-
Fra terminalen, opprett en ny mappe i hjemmekatalogen til brukeren
pi
kaltsoil-moisture-sensor
. Opprett en fil i denne mappen kaltapp.py
. -
Åpne denne mappen i VS Code.
-
Legg til følgende kode i
app.py
-filen for å importere noen nødvendige biblioteker:import time from grove.adc import ADC
import time
-setningen importerertime
-modulen som vil bli brukt senere i denne oppgaven.from grove.adc import ADC
-setningen importererADC
fra Grove Python-bibliotekene. Dette biblioteket inneholder kode for å samhandle med analog-til-digital-omformeren på Pi Base Hat og lese spenninger fra analoge sensorer. -
Legg til følgende kode under dette for å opprette en instans av
ADC
-klassen:adc = ADC()
-
Legg til en uendelig løkke som leser fra denne ADC-en på A0-pinnen og skriver resultatet til konsollen. Denne løkken kan deretter sove i 10 sekunder mellom hver avlesning.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Kjør Python-appen. Du vil se jordfuktighetsmålingene skrevet til konsollen. Tilsett litt vann i jorden, eller fjern sensoren fra jorden, og se verdien endre seg.
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
I eksempelet over kan du se spenningen synke når vann tilsettes.
💁 Du finner denne koden i code/pi-mappen.
😀 Programmet for jordfuktighetssensoren din var en suksess!
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi tilstreber nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.