Używając czujnika wilgoci z gleby z Raspberry Pi

Using a Soil Moisture Sensor with the Raspberry Pi

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ć

  1. Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
  2. Czujnik wilgoci gleby (wyjście analogowe lub cyfrowe)
  3. Moduł ADC (np. ADS1115) dla czujników analogowych (w razie potrzeby)
  4. Druty chleba i skoczków
  5. 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:

  1. Otwórz narzędzie konfiguracyjne Raspberry Pi:
    sudo raspi-config
    
  2. Przejść do Opcje interfejsu> i2c i włącz to.
  3. Uruchom ponownie Raspberry Pi:
    sudo reboot
    

Krok 4: Zainstaluj wymagane biblioteki

  1. Zaktualizuj swoje Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. 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

  1. Inteligentne nawadnianie - Automatycznie podlewaj rośliny, gdy gleba jest sucha.
  2. Stacje pogodowe - zdalnie monitoruj warunki gleby.
  3. Automatyzacja szklarni - Zoptymalizuj wzrost roślin w oparciu o poziom wilgoci.
  4. Projekty IoT - Wyślij dane do platform chmurowych w celu zdalnego monitorowania.

Rozwiązywanie problemów

  1. 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
      
  2. 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! 🌱🚀

Zostaw komentarz

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.