UN sensore di umidità del suolo consente a un lampone di monitorare l'umidità del suolo, rendendola ideale per Giardinaggio intelligente, sistemi di irrigazione e monitoraggio ambientale. Questa guida ti guiderà attraverso l'istituzione e l'utilizzo di un sensore di umidità del suolo con un Raspberry Pi.
Cosa avrai bisogno
- Raspberry Pi (Qualsiasi modello con supporto GPIO, ad esempio PI 3, PI 4)
- Sensore di umidità del suolo (Output analogico o digitale)
- Modulo ADC (ad es. ADS1115) per sensori analogici (se necessario)
- Breadboard e fili jumper
- Python installato Sul Raspberry Pi
Passaggio 1: comprensione del sensore di umidità del suolo
Esistono due tipi di sensori di umidità del suolo:
- Sensori di uscita digitale (ad esempio, sensori di umidità del suolo capacitivo) - Fornire un Alto/basso Segnale quando l'umidità attraversa una soglia.
- Sensori di uscita analogici - Fornire una tensione variabile basata sull'umidità del suolo, che richiede un ADC (convertitore da analogico a digitale) Come l'ADS1115.
Passaggio 2: Cablaggio del sensore al Raspberry Pi
Per un sensore di umidità del suolo di uscita digitale
Pin del sensore | Pin di lampone |
---|---|
VCC | 3.3V o 5V (pin 1 o 2) |
GND | Terra (pin 6) |
D0 (digitale) | Qualsiasi GPIO (ad es., GPIO17, PIN 11) |
Per un sensore di uscita analogico (con ADS1115)
Pin del sensore | PIN ADS1115 | Pin di lampone |
---|---|---|
VCC | VCC | 3.3V o 5V (pin 1 o 2) |
GND | GND | Terra (pin 6) |
A0 (analogico) | A0 | I2C (tramite ADS1115) |
Passaggio 3: abilita i2c su Raspberry Pi
Poiché alcuni sensori usano I2C (modulo ADS1115), abilitalo:
- Apri lo strumento di configurazione Raspberry Pi:
sudo raspi-config
- Navigare a Opzioni di interfaccia> i2c e abilitarlo.
- Riavvia il Raspberry Pi:
sudo reboot
Passaggio 4: installa le librerie richieste
- Aggiorna il tuo Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installa le librerie GPIO e I2C:
sudo apt install -y python3-rpi.gpio python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Passaggio 5: codice Python per leggere i livelli di umidità
Per un sensore digitale
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()
Per un sensore analogico (usando 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...")
Passaggio 6: applicazioni dei sensori di umidità del suolo
- Irrigazione intelligente - Acqua automaticamente le piante quando il terreno è asciutto.
- Stazioni meteorologiche - Monitorare le condizioni del suolo da remoto.
- Automazione della serra - Ottimizzare la crescita delle piante in base ai livelli di umidità.
- Progetti IoT - Invia dati alle piattaforme cloud per il monitoraggio remoto.
Risoluzione dei problemi
-
Il sensore non rileva l'umidità
- Controllare il cablaggio e assicurarsi che la tensione corretta.
- Per sensori analogici, assicurarsi Il modulo ADS1115 viene rilevato correttamente Usando:
sudo i2cdetect -y 1
-
Letture instabili
- Evita di posizionare eccessivamente il sensore ambienti bagnati per prevenire la corrosione.
- Per sensori capacitivi, assicurarsi Pulisci superfici della sonda per letture accurate.
Conclusione
I sensori di umidità del suolo consentono ai progetti di lampone Monitorare e automatizzare l'irrigazione delle piante, rendendoli ideali per Smart Gardening e IoT applicazioni. Seguendo questa guida, puoi Leggi i livelli di umidità del suolo e attiva azioni automatizzate Basato su dati in tempo reale! 🌱🚀