5.1 KiB
Measure soil moisture - Raspberry Pi
For dis part of di lesson, you go add one capacitive soil moisture sensor to your Raspberry Pi, and you go read di values wey e dey give.
Hardware
Di Raspberry Pi go need one capacitive soil moisture sensor.
Di sensor wey you go use na Capacitive Soil Moisture Sensor, wey dey measure soil moisture by detecting di capacitance of di soil. Dis capacitance dey change as di soil moisture dey change. As di soil moisture dey increase, di voltage go dey reduce.
Dis sensor na analog sensor, so e dey use analog pin, and di 10-bit ADC wey dey di Grove Base Hat for di Pi go convert di voltage to digital signal from 1-1,023. Di signal go then pass through I2C via di GPIO pins for di Pi.
Connect di soil moisture sensor
You fit connect di Grove soil moisture sensor to di Raspberry Pi.
Task - connect di soil moisture sensor
Connect di soil moisture sensor.
-
Put one end of di Grove cable for di socket wey dey di soil moisture sensor. E go only enter one way.
-
When di Raspberry Pi no get power, connect di other end of di Grove cable to di analog socket wey dem mark A0 for di Grove Base hat wey dey di Pi. Dis socket na di second one from di right, for di row of sockets wey dey near di GPIO pins.
- Put di soil moisture sensor inside soil. E get one 'highest position line' - na white line wey dey across di sensor. Put di sensor reach di line but no pass am.
Program di soil moisture sensor
Now, you fit program di Raspberry Pi to use di soil moisture sensor wey you don attach.
Task - program di soil moisture sensor
Program di device.
-
On di Pi and wait make e boot finish.
-
Open VS Code, either directly for di Pi, or connect am through di Remote SSH extension.
⚠️ You fit check di instructions for how to set up and open VS Code for nightlight - lesson 1 if you need am.
-
From di terminal, create new folder for di
piuser home directory wey you go callsoil-moisture-sensor. Create one file for dis folder wey you go callapp.py. -
Open dis folder for VS Code.
-
Add di code wey dey below to di
app.pyfile to import some libraries wey you go need:import time from grove.adc import ADCDi
import timestatement dey bring in ditimemodule wey you go use later for dis assignment.Di
from grove.adc import ADCstatement dey bring in diADCfrom di Grove Python libraries. Dis library get code wey go help you interact with di analog to digital converter wey dey di Pi base hat and read voltages from analog sensors. -
Add di code wey dey below to create one instance of di
ADCclass:adc = ADC() -
Add one infinite loop wey go dey read from dis ADC for di A0 pin, and write di result go console. Dis loop go then sleep for 10 seconds between di reads.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10) -
Run di Python app. You go see di soil moisture measurements wey go dey show for di console. Add small water to di soil, or commot di sensor from di soil, and see as di value go change.
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: 388For di example output wey dey above, you fit see as di voltage dey drop as you add water.
💁 You fit find dis code for di code/pi folder.
😀 Your soil moisture sensor program work well!
Disclaimer:
Dis docu don dey translate wit AI translation service Co-op Translator. Even though we dey try make am accurate, abeg no forget say automatic translation fit get mistake or no dey 100% correct. Di original docu for di language wey dem write am first na di main correct one. For important information, e go better make professional human translator check am. We no go fit take blame for any misunderstanding or wrong interpretation wey fit happen because of dis translation.


