A Czujnik wilgoci gleby pozwala na monitorowanie wilgoci gleby, co czyni ją idealną Inteligentne ogrodnictwo, systemy nawadniające i monitorowanie środowiska. Ten przewodnik poprowadzi Cię przez konfigurowanie i użycie czujnika wilgoci gleby z Raspberry Pi.
Czego będziesz potrzebować
- Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
- Czujnik wilgoci gleby (wyjście analogowe lub cyfrowe)
- Moduł ADC (np. ADS1115) dla czujników analogowych (w razie potrzeby)
- Druty chleba i skoczków
- Zainstalowany Python na Raspberry Pi
Krok 1: Zrozumienie czujnika wilgoci gleby
Istnieją dwa rodzaje czujników wilgoci gleby:
- Cyfrowe czujniki wyjściowe (np. Pojemnościowe czujniki wilgoci gleby) - Zapewnij Wysoki/niski sygnał, gdy wilgoć przekroczy próg.
- Analogowe czujniki wyjściowe - Zapewnij zmienne napięcie oparte na wilgotności gleby, wymagającego ADC (konwerter analogowo-cyfrowy) Jak ADS1115.
Krok 2: Okalowanie czujnika do Raspberry Pi
Dla cyfrowego czujnika wilgoci gleby
Pin czujnik | Pin Raspberry Pi |
---|---|
VCC | 3,3 V lub 5 V (pin 1 lub 2) |
GND | Uziemienie (pin 6) |
D0 (cyfrowe) | Każdy GPIO (np. GPIO17, PIN 11) |
Dla analogowego czujnika wyjściowego (z ADS1115)
Pin czujnik | PIN ADS1115 | Pin Raspberry Pi |
---|---|---|
VCC | VCC | 3,3 V lub 5 V (pin 1 lub 2) |
GND | GND | Uziemienie (pin 6) |
A0 (analog) | A0 | I2C (przez ADS1115) |
Krok 3: Włącz I2C na Raspberry Pi
Ponieważ niektóre czujniki używają I2C (moduł ADS1115), Włącz to:
- Otwórz narzędzie konfiguracyjne Raspberry Pi:
sudo raspi-config
- Przejść do Opcje interfejsu> i2c i włącz to.
- Uruchom ponownie Raspberry Pi:
sudo reboot
Krok 4: Zainstaluj wymagane biblioteki
- Zaktualizuj swoje Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Zainstaluj biblioteki GPIO i I2C:
sudo apt install -y python3-rpi.gpio python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Krok 5: Kod Python do czytania poziomów wilgoci
Dla czujnika cyfrowego
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()
Dla czujnika analogowego (za pomocą 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...")
Krok 6: Zastosowania czujników wilgoci gleby
- Inteligentne nawadnianie - Automatycznie podlewaj rośliny, gdy gleba jest sucha.
- Stacje pogodowe - zdalnie monitoruj warunki gleby.
- Automatyzacja szklarni - Zoptymalizuj wzrost roślin w oparciu o poziom wilgoci.
- Projekty IoT - Wyślij dane do platform chmurowych w celu zdalnego monitorowania.
Rozwiązywanie problemów
-
Czujnik nie wykrywa wilgoci
- Sprawdź okablowanie i upewnij się, że prawidłowe napięcie.
- W przypadku czujników analogowych upewnij się Moduł ADS1115 jest odpowiednio wykryty Korzystanie z:
sudo i2cdetect -y 1
-
Niestabilne odczyty
- Unikaj umieszczenia czujnika zbyt mokre środowiska Aby zapobiec korozji.
- Dla czujników pojemnościowych, upewnij się Czyste powierzchnie sondy dla dokładnych odczytów.
Wniosek
Czujniki wilgoci gleby pozwalają Raspberry Pi projekty Monitoruj i zautomatyzuj podlewanie roślin, czyni je idealnymi inteligentne aplikacje ogrodnicze i IoT. Postępując zgodnie z tym przewodnikiem, możesz Przeczytaj poziom wilgotności gleby i zautomatyzowane działania Na podstawie danych w czasie rzeczywistym! 🌱🚀