Menggunakan sensor kelembaban tanah dengan pi raspberry

Using a Soil Moisture Sensor with the Raspberry Pi

sensor kelembaban tanah memungkinkan pi raspberry untuk memantau kelembaban tanah, membuatnya ideal berkebun pintar, sistem irigasi, dan pemantauan lingkungan. Panduan ini akan memandu Anda melalui pengaturan dan menggunakan sensor kelembaban tanah dengan pi raspberry.


Apa yang Anda Butuhkan

  1. Raspberry Pi (Model apa pun dengan dukungan GPIO, mis., Pi 3, pi 4)
  2. Sensor kelembaban tanah (output analog atau digital)
  3. Modul ADC (mis., ADS1115) untuk sensor analog (jika diperlukan)
  4. Papan tempat memotong papan dan kabel jumper
  5. Python terpasang di raspberry pi

Langkah 1: Memahami sensor kelembaban tanah

Ada dua jenis sensor kelembaban tanah:

  • Sensor Output Digital (mis., Sensor kelembaban tanah kapasitif) - menyediakan a Tinggi/rendah Sinyal saat kelembaban melintasi ambang batas.
  • Sensor keluaran analog - Berikan tegangan variabel berdasarkan kelembaban tanah, membutuhkan ADC (konverter analog-ke-digital) seperti ADS1115.

Langkah 2: Pengkabelan sensor ke raspberry pi

Untuk sensor kelembaban tanah output digital

Pin sensor Raspberry Pi Pin
Vcc 3.3V atau 5V (pin 1 atau 2)
Gnd Ground (pin 6)
D0 (digital) Setiap GPIO (mis., GPIO17, PIN 11)

Untuk sensor output analog (dengan ADS1115)

Pin sensor ADS1115 Pin Raspberry Pi Pin
Vcc Vcc 3.3V atau 5V (pin 1 atau 2)
Gnd Gnd Ground (pin 6)
A0 (analog) A0 I2C (via ADS1115)

Langkah 3: Aktifkan I2C di Raspberry Pi

Karena beberapa sensor menggunakan I2C (modul ADS1115), aktifkan:

  1. Buka alat konfigurasi Raspberry Pi:
    sudo raspi-config
    
  2. Navigasikan ke Opsi Antarmuka> I2C dan mengaktifkannya.
  3. Reboot Raspberry Pi:
    sudo reboot
    

Langkah 4: Instal perpustakaan yang diperlukan

  1. Perbarui Raspberry Pi Anda:
    sudo apt update && sudo apt upgrade -y
    
  2. Instal perpustakaan GPIO dan I2C:
    sudo apt install -y python3-rpi.gpio python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ads1x15
    

Langkah 5: Kode Python untuk membaca tingkat kelembaban

Untuk sensor digital

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

Untuk sensor analog (menggunakan 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...")

Langkah 6: Aplikasi sensor kelembaban tanah

  1. Irigasi Cerdas - Secara otomatis menyiram tanaman saat tanah kering.
  2. Stasiun cuaca - Pantau kondisi tanah dari jarak jauh.
  3. Otomatisasi Rumah Kaca - Mengoptimalkan pertumbuhan tanaman berdasarkan tingkat kelembaban.
  4. Proyek IoT - Kirim data ke platform cloud untuk pemantauan jarak jauh.

Pemecahan masalah

  1. Sensor tidak mendeteksi kelembaban

    • Periksa kabel dan pastikan tegangan yang benar.
    • Untuk sensor analog, pastikan Modul ADS1115 terdeteksi dengan benar menggunakan:
      sudo i2cdetect -y 1
      
  2. Bacaan yang tidak stabil

    • Hindari menempatkan sensor secara berlebihan lingkungan basah untuk mencegah korosi.
    • Untuk sensor kapasitif, pastikan Permukaan probe bersih untuk bacaan yang akurat.

Kesimpulan

Sensor kelembaban tanah memungkinkan proyek raspberry pi memantau dan mengotomatiskan penyiraman tanaman, membuat mereka ideal untuk Aplikasi Berkebun Cerdas dan IoT. Dengan mengikuti panduan ini, Anda bisa Baca tingkat kelembaban tanah dan memicu tindakan otomatis Berdasarkan data real-time! 🌱🚀

Tinggalkan komentar

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.