A toprak nem sensörü Bir Raspberry Pi'nin toprak nemini izlemesine izin verir, bu da onu ideal hale getirir Akıllı bahçecilik, sulama sistemleri ve çevresel izleme. Bu kılavuz, bir Ahududu Pi ile bir toprak nem sensörü kurarak ve kullanarak size yol gösterecektir.
Ne İhtiyacınız Olacak
- Ahududu pi (GPIO destekli herhangi bir model, örneğin Pi 3, Pi 4)
- Toprak nem sensörü (analog veya dijital çıkış)
- Analog sensörler için ADC modülü (örn. ADS1115) (Gerekirse)
- Breadboard ve jumper telleri
- Python yüklü Raspberry Pi'de
1. Adım: Toprak nem sensörünü anlama
İki tür toprak nem sensörü vardır:
- Dijital çıkış sensörleri (ör. Kapasitif toprak nem sensörleri) - Yüksek/düşük Nem bir eşiği geçtiğinde sinyal.
- Analog çıkış sensörleri - Toprak nemine dayalı bir değişken voltaj sağlayın, ADC (analogdan dijital dönüştürücü) ADS1115 gibi.
Adım 2: Sensörü Raspberry Pi'ye bağlama
Dijital çıkışlı toprak nem sensörü için
Sensör pimi | Raspberry Pi Pimi |
---|---|
VCC | 3.3V veya 5V (pim 1 veya 2) |
Gnd | Zemin (pim 6) |
D0 (dijital) | Herhangi bir GPIO (ör. GPIO17, Pin 11) |
Analog bir çıkış sensörü için (ADS1115 ile)
Sensör pimi | ADS1115 PIN | Raspberry Pi Pimi |
---|---|---|
VCC | VCC | 3.3V veya 5V (pim 1 veya 2) |
Gnd | Gnd | Zemin (pim 6) |
A0 (analog) | A0 | I2C (ADS1115 aracılığıyla) |
Adım 3: Raspberry Pi'de I2C'yi etkinleştirin
Bazı sensörler kullandığından I2C (ADS1115 modülü), etkinleştir:
- Raspberry Pi yapılandırma aracını açın:
sudo raspi-config
- Gezmek Arayüz Seçenekleri> I2C ve etkinleştir.
- Raspberry Pi'yi yeniden başlatın:
sudo reboot
4. Adım: Gerekli kütüphaneleri kurun
- Raspberry Pi'nizi güncelleyin:
sudo apt update && sudo apt upgrade -y
- GPIO ve I2C kitaplıklarını yükleyin:
sudo apt install -y python3-rpi.gpio python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Adım 5: Nem seviyelerini okumak için python kodu
Dijital sensör için
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()
Analog bir sensör için (ADS1115 kullanarak)
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...")
Adım 6: Toprak nem sensörlerinin uygulamaları
- Akıllı sulama - Toprak kuru olduğunda bitkileri otomatik olarak sulayın.
- Hava istasyonları - Toprak koşullarını uzaktan izleyin.
- Sera Otomasyonu - Bitki büyümesini nem seviyelerine göre optimize edin.
- IoT Projeleri - Uzaktan izleme için bulut platformlarına veri gönderin.
Sorun giderme
-
Sensör nemi tespit etmiyor
- Kabloları kontrol edin ve doğru voltaj sağlayın.
- Analog sensörler için ADS1115 modülü düzgün bir şekilde tespit edildi kullanma:
sudo i2cdetect -y 1
-
Kararsız okumalar
- Sensörü aşırı yerleştirmekten kaçının Islak ortamlar korozyonu önlemek için.
- Kapasitif sensörler için Temiz Prob yüzeyleri Doğru okumalar için.
Çözüm
Toprak nem sensörleri, Raspberry Pi projelerinin Bitki sulamasını izleyin ve otomatikleştirin, onları ideal hale getirmek Akıllı Bahçecilik ve IoT uygulamaları. Bu kılavuzu takip ederek, Toprak nem seviyelerini okuyun ve otomatik eylemleri tetikleyin Gerçek zamanlı verilere dayanarak! 🌱🚀