Met behulp van een bodemvochtsensor met de Raspberry Pi

Using a Soil Moisture Sensor with the Raspberry Pi

bodemvochtsensor Hiermee kan een frambozen Pi de bodemvocht bewaken, waardoor het ideaal is voor Smart tuinieren, irrigatiesystemen en milieumonitoring. Deze gids zal je doorlopen door het opzetten en gebruiken van een bodemvochtsensor met een frambozen PI.


Wat u nodig hebt

  1. Raspberry Pi (Elk model met GPIO -ondersteuning, bijvoorbeeld PI 3, PI 4)
  2. Bodemvochtsensor (analoge of digitale uitvoer)
  3. ADC -module (bijv. ADS1115) voor analoge sensoren (indien nodig)
  4. Breadboard en jumper draden
  5. Python geïnstalleerd Op de Raspberry Pi

Stap 1: Inzicht in de bodemvochtsensor

Er zijn twee soorten bodemvochtsensoren:

  • Digitale uitvoersensoren (bijv. Capacitieve bodemvochtsensoren) - Zorg voor een Hoog/laag Signaal wanneer vocht een drempel overschrijdt.
  • Analoge uitgangssensoren - Zorg voor een variabele spanning op basis van bodemvocht, waardoor een ADC (analoog-naar-digitale converter) zoals de ADS1115.

Stap 2: De sensor bedraden naar de Raspberry Pi

Voor een digitale output bodemvochtsensor

Sensorpen Raspberry Pi Pin
VCC 3.3V of 5V (pin 1 of 2)
GND Grond (pin 6)
D0 (digitaal) Elke GPIO (bijv. GPIO17, pin 11)

Voor een analoge uitgangssensor (met ADS1115)

Sensorpen ADS1115 PIN Raspberry Pi Pin
VCC VCC 3.3V of 5V (pin 1 of 2)
GND GND Grond (pin 6)
A0 (analoog) A0 I2C (via ADS1115)

Stap 3: Schakel I2C in op de Raspberry Pi

Omdat sommige sensoren gebruiken I2C (ADS1115 -module), schakel het in:

  1. Open de Raspberry Pi -configuratie -tool:
    sudo raspi-config
    
  2. Navigeren naar Interface -opties> I2C en schakel het in.
  3. Start de Raspberry Pi opnieuw op:
    sudo reboot
    

Stap 4: Installeer vereiste bibliotheken

  1. Update uw Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installeer de GPIO- en I2C -bibliotheken:
    sudo apt install -y python3-rpi.gpio python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ads1x15
    

Stap 5: Python -code om vochtniveaus te lezen

Voor een digitale sensor

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()

Voor een analoge sensor (met 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...")

Stap 6: Toepassingen van bodemvochtsensoren

  1. Slimme irrigatie - automatisch waterplanten wanneer de grond droog is.
  2. Weerstations - Bevestig de bodemomstandigheden op afstand.
  3. Greenhouse Automation - Optimaliseer de plantengroei op basis van vochtspiegels.
  4. IoT -projecten - Stuur gegevens naar cloudplatforms voor monitoring op afstand.

Problemen oplossen

  1. Sensor die geen vocht detecteert

    • Controleer de bedrading en zorg voor de juiste spanning.
    • Zorg voor analoge sensoren ADS1115 -module wordt correct gedetecteerd gebruiken:
      sudo i2cdetect -y 1
      
  2. Onstabiele lezingen

    • Vermijd de sensor te veel in Natte omgevingen om corrosie te voorkomen.
    • Voor capacitieve sensoren, zorg voor Schone sondeoppervlakken voor nauwkeurige metingen.

Conclusie

Bodemvochtsensoren laten frambozen PI -projecten toe Controleer en automatiseer plantenwater, waardoor ze ideaal zijn voor Smart Gardening en IoT -applicaties. Door deze gids te volgen, kunt u Lees de bodemvochtigheidsniveaus en activeer geautomatiseerde acties Gebaseerd op realtime gegevens! 🌱🚀

Laat een reactie achter

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.