En jordfuktighetssensor Tillåter en Raspberry Pi att övervaka jordfuktigheten, vilket gör den idealisk för Smart trädgårdsskötsel, bevattningssystem och miljöövervakning. Den här guiden kommer att leda dig genom att ställa in och använda en jordfuktighetssensor med en Raspberry Pi.
Vad du behöver
- Hallon (Varje modell med GPIO -stöd, t.ex. PI 3, PI 4)
- Jordfuktighetssensor (analog eller digital utgång)
- ADC -modul (t.ex. ADS1115) för analoga sensorer (vid behov)
- Breadboard och jumpertrådar
- Python installerad på Raspberry Pi
Steg 1: Förstå jordfuktighetssensorn
Det finns två typer av jordfuktighetssensorer:
- Digitala utgångssensorer (t.ex. kapacitiva markfuktighetssensorer) - Ge en Hög/låg signal när fukt korsar en tröskel.
- Analoga utgångssensorer - tillhandahålla en variabel spänning baserad på markfuktighet, som kräver en ADC (analog-till-digital omvandlare) som ADS1115.
Steg 2: Kopplar sensorn till Raspberry Pi
För en digital utgångsjordfuktighetssensor
Sensorstift | Hallon pi |
---|---|
Vcc | 3.3V eller 5V (stift 1 eller 2) |
Gard | Mark (stift 6) |
D0 (digital) | Alla GPIO (t.ex. GPIO17, stift 11) |
För en analog utgångssensor (med ADS1115)
Sensorstift | ADS1115 -stift | Hallon pi |
---|---|---|
Vcc | Vcc | 3.3V eller 5V (stift 1 eller 2) |
Gard | Gard | Mark (stift 6) |
A0 (analog) | A0 | I2C (via ADS1115) |
Steg 3: Aktivera i2c på Raspberry Pi
Eftersom vissa sensorer använder I2C (ADS1115 -modulen), aktivera det:
- Öppna Raspberry PI -konfigurationsverktyget:
sudo raspi-config
- Navigera till Gränssnittsalternativ> i2c och aktivera det.
- Starta om Raspberry Pi:
sudo reboot
Steg 4: Installera obligatoriska bibliotek
- Uppdatera din Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installera GPIO- och I2C -biblioteken:
sudo apt install -y python3-rpi.gpio python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Steg 5: Python -kod för att läsa fuktnivåer
För en digital 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()
För en analog sensor (med 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...")
Steg 6: Tillämpningar av markfuktighetssensorer
- Smart bevattning - Vattenväxter automatiskt när jorden är torr.
- Väderstationer - Övervaka markförhållanden på distans.
- Växthussautomation - Optimera växttillväxten baserad på fuktnivåer.
- IoT -projekt - Skicka data till molnplattformar för fjärrövervakning.
Felsökning
-
Sensor upptäcker inte fukt
- Kontrollera ledningarna och se till korrekt spänning.
- För analoga sensorer, se till ADS1115 -modulen upptäcks ordentligt använder:
sudo i2cdetect -y 1
-
Instabila avläsningar
- Undvik att placera sensorn i alltför våtmiljöer för att förhindra korrosion.
- För kapacitiva sensorer, se till rena sondytor för exakta avläsningar.
Slutsats
Jordfuktighetssensorer tillåter Raspberry PI -projekt att Övervaka och automatisera växtvattning, vilket gör dem idealiska för Smart trädgårdsskötsel och IoT -applikationer. Genom att följa den här guiden kan du Läs jordfuktighetsnivåer och utlöser automatiserade åtgärder Baserat på realtidsdata! 🌱🚀