Raspberry Pi ile toprak nem sensörü kullanma

Using a Soil Moisture Sensor with the Raspberry Pi

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

  1. Ahududu pi (GPIO destekli herhangi bir model, örneğin Pi 3, Pi 4)
  2. Toprak nem sensörü (analog veya dijital çıkış)
  3. Analog sensörler için ADC modülü (örn. ADS1115) (Gerekirse)
  4. Breadboard ve jumper telleri
  5. 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:

  1. Raspberry Pi yapılandırma aracını açın:
    sudo raspi-config
    
  2. Gezmek Arayüz Seçenekleri> I2C ve etkinleştir.
  3. Raspberry Pi'yi yeniden başlatın:
    sudo reboot
    

4. Adım: Gerekli kütüphaneleri kurun

  1. Raspberry Pi'nizi güncelleyin:
    sudo apt update && sudo apt upgrade -y
    
  2. 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ı

  1. Akıllı sulama - Toprak kuru olduğunda bitkileri otomatik olarak sulayın.
  2. Hava istasyonları - Toprak koşullarını uzaktan izleyin.
  3. Sera Otomasyonu - Bitki büyümesini nem seviyelerine göre optimize edin.
  4. IoT Projeleri - Uzaktan izleme için bulut platformlarına veri gönderin.

Sorun giderme

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

Yorum bırak

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.