A 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
- Raspberry Pi (Model apa pun dengan dukungan GPIO, mis., Pi 3, pi 4)
- Sensor kelembaban tanah (output analog atau digital)
- Modul ADC (mis., ADS1115) untuk sensor analog (jika diperlukan)
- Papan tempat memotong papan dan kabel jumper
- 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:
- Buka alat konfigurasi Raspberry Pi:
sudo raspi-config
- Navigasikan ke Opsi Antarmuka> I2C dan mengaktifkannya.
- Reboot Raspberry Pi:
sudo reboot
Langkah 4: Instal perpustakaan yang diperlukan
- Perbarui Raspberry Pi Anda:
sudo apt update && sudo apt upgrade -y
- 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
- Irigasi Cerdas - Secara otomatis menyiram tanaman saat tanah kering.
- Stasiun cuaca - Pantau kondisi tanah dari jarak jauh.
- Otomatisasi Rumah Kaca - Mengoptimalkan pertumbuhan tanaman berdasarkan tingkat kelembaban.
- Proyek IoT - Kirim data ke platform cloud untuk pemantauan jarak jauh.
Pemecahan masalah
-
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
-
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! 🌱🚀