O Senzor de umiditate a solului Permite unui Pi de zmeură să monitorizeze umiditatea solului, ceea ce îl face ideal pentru grădinărit inteligent, sisteme de irigare și monitorizare a mediului. Acest ghid vă va plimba prin configurarea și utilizarea unui senzor de umiditate a solului cu un PI de zmeură.
Ce vei avea nevoie
- Zmeură pi (Orice model cu suport GPIO, de exemplu, PI 3, PI 4)
- Senzor de umiditate a solului (ieșire analogică sau digitală)
- Modul ADC (de exemplu, ADS1115) pentru senzori analogici (dacă este necesar)
- Tablă de pâine și jumper
- Python instalat pe zmeură pi
Pasul 1: Înțelegerea senzorului de umiditate a solului
Există două tipuri de senzori de umiditate a solului:
- Senzori de ieșire digitală (de exemplu, senzori capacitivi de umiditate a solului) - furnizați un Înalt/scăzut Semnalizează când umiditatea traversează un prag.
- Senzori de ieșire analogici - Oferiți o tensiune variabilă bazată pe umiditatea solului, necesitând un ADC (convertor analog-digital) Ca ADS1115.
Pasul 2: Cablarea senzorului la Raspberry Pi
Pentru un senzor de umiditate a solului digital
Pinul senzor | Pinul de zmeură pi |
---|---|
VCC | 3.3V sau 5V (pin 1 sau 2) |
GND | Sol (pinul 6) |
D0 (digital) | Orice GPIO (de exemplu, GPIO17, pin 11) |
Pentru un senzor de ieșire analogică (cu ADS1115)
Pinul senzor | ADS1115 PIN | Pinul de zmeură pi |
---|---|---|
VCC | VCC | 3.3V sau 5V (pin 1 sau 2) |
GND | GND | Sol (pinul 6) |
A0 (analog) | A0 | I2C (prin ADS1115) |
Pasul 3: Activați I2C pe Raspberry Pi
Deoarece unii senzori folosesc I2C (modul ADS1115), Activați -l:
- Deschideți instrumentul de configurare Raspberry PI:
sudo raspi-config
- Navigați la Opțiuni de interfață> I2C și activează -l.
- Reporniți zmeura PI:
sudo reboot
Pasul 4: Instalați bibliotecile necesare
- Actualizați -vă Raspberry PI:
sudo apt update && sudo apt upgrade -y
- Instalați bibliotecile GPIO și I2C:
sudo apt install -y python3-rpi.gpio python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Pasul 5: Cod Python pentru a citi nivelurile de umiditate
Pentru un senzor digital
import RPi.GPIO as GPIO
import time
SENSOR_PIN = 17 # GPIO Pin connected to D0
GPIO.setmode(GPIO.BCM)
GPIO.setup(SENSOR_PIN, GPIO.IN)
try:
while True:
if GPIO.input(SENSOR_PIN):
print("Soil is Dry!")
else:
print("Soil is Moist!")
time.sleep(2)
except KeyboardInterrupt:
print("Exiting...")
finally:
GPIO.cleanup()
Pentru un senzor analog (folosind ADS1115)
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
# Initialize I2C and ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)
moisture_sensor = AnalogIn(ads, ADS.P0) # A0 on ADS1115
try:
while True:
moisture_level = moisture_sensor.value
print(f"Soil Moisture Level: {moisture_level}")
time.sleep(2)
except KeyboardInterrupt:
print("Exiting...")
Pasul 6: Aplicații ale senzorilor de umiditate a solului
- Irigare inteligentă - automat plantele cu apă atunci când solul este uscat.
- Stații meteo - Monitorizați de la distanță condițiile solului.
- Automatizarea cu efect de seră - Optimizați creșterea plantelor pe baza nivelurilor de umiditate.
- Proiecte IoT - Trimiteți date către platformele cloud pentru monitorizare la distanță.
Depanare
-
Senzor nu detectează umiditatea
- Verificați cablarea și asigurați o tensiune corectă.
- Pentru senzori analogici, asigurați -vă Modulul ADS1115 este detectat corect folosind:
sudo i2cdetect -y 1
-
Lecturi instabile
- Evitați să plasați senzorul excesiv medii umede pentru a preveni coroziunea.
- Pentru senzori capacitivi, asigurați -vă Curățați suprafețele sondelor pentru lecturi exacte.
Concluzie
Senzorii de umiditate a solului permit proiectelor de zmeură PI Monitorizați și automatizați udarea plantelor, făcându -le ideale pentru Aplicații inteligente de grădinărit și IoT. Urmând acest ghid, puteți Citiți nivelurile de umiditate a solului și declanșați acțiuni automate Pe baza datelor în timp real! 🌱🚀