A เซนเซอร์วัดความชื้นในดิน ช่วยให้ Raspberry Pi ตรวจวัดความชื้นในดิน, ทำให้เหมาะอย่างยิ่งสำหรับ การทำสวนอัจฉริยะ, ระบบชลประทาน, และการตรวจติดตามสิ่งแวดล้อม. คู่มือนี้จะแนะนำคุณทีละขั้นตอนเกี่ยวกับการตั้งค่าและการใช้งาน เซ็นเซอร์วัดความชื้นในดิน ด้วย Raspberry Pi.
สิ่งที่คุณต้องมี
- Raspberry Pi (รุ่นใดก็ได้ที่รองรับ GPIO เช่น Pi 3, Pi 4)
- เซ็นเซอร์ความชื้นในดิน (เอาต์พุตแบบแอนะล็อกหรือดิจิทัล)
- โมดูล ADC (เช่น, ADS1115) สำหรับเซ็นเซอร์อนาล็อก (หากจำเป็น)
- เบรดบอร์ดและสายจัมเปอร์
- ติดตั้ง Python แล้ว บน Raspberry Pi
ขั้นตอนที่ 1: ทำความเข้าใจ เซ็นเซอร์วัดความชื้นในดิน
มีสองประเภทของ เซนเซอร์วัดความชื้นในดินs:
- เซ็นเซอร์เอาต์พุตดิจิทัล (เช่น capacitive เซ็นเซอร์ความชื้นในดินs) – จัดเตรียม สูง/ต่ำ ส่งสัญญาณเมื่อความชื้นเกินค่าเกณฑ์.
- เซ็นเซอร์เอาต์พุตแอนะล็อก – ให้แรงดันไฟฟ้าแปรผันตามความชื้นในดิน, โดยต้องการ ADC (ตัวแปลงสัญญาณอนาล็อกเป็นดิจิทัล) เหมือนกับ ADS1115.
ขั้นตอนที่ 2: การต่อสายเซนเซอร์เข้ากับ Raspberry Pi
สำหรับเอาต์พุตดิจิทัล เซนเซอร์ความชื้นในดิน
| ขาเซนเซอร์ | พิน Raspberry Pi |
|---|---|
| VCC | 3.3V หรือ 5V (ขา 1 หรือ 2) |
| GND | กราวด์ (ขา 6) |
| D0 (ดิจิทัล) | GPIO ใดก็ได้ (เช่น GPIO17, Pin 11) |
สำหรับเซ็นเซอร์เอาต์พุตแบบอนาล็อก (พร้อม ADS1115)
| ขาเซ็นเซอร์ | ADS1115 พิน | พิน Raspberry Pi |
|---|---|---|
| VCC | VCC | 3.3V หรือ 5V (ขา 1 หรือ 2) |
| GND | GND | กราวด์ (ขา 6) |
| A0 (แอนะล็อก) | A0 | I2C (ผ่าน ADS1115) |
ขั้นตอนที่ 3: เปิดใช้งาน I2C บน Raspberry Pi
เนื่องจากเซ็นเซอร์บางตัวใช้ I2C (ADS1115 โมดูล), ให้เปิดใช้งาน:
- เปิดเครื่องมือกำหนดค่า Raspberry Pi:
sudo raspi-config - ไปที่ ตัวเลือกอินเทอร์เฟซ > I2C และเปิดใช้งาน.
- รีบูต Raspberry Pi:
sudo reboot
ขั้นตอนที่ 4: ติดตั้งไลบรารีที่จำเป็น
- อัปเดต Raspberry Pi ของคุณ:
sudo apt update && sudo apt upgrade -y - ติดตั้งไลบรารี GPIO และ I2C:
sudo apt install -y python3-rpi.gpio python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
ขั้นตอนที่ 5: โค้ด Python สำหรับอ่านระดับความชื้น
สำหรับเซ็นเซอร์ดิจิทัล
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()
สำหรับเซ็นเซอร์อนาล็อก (ใช้ ADS1115)
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
# เริ่มต้น I2C และ ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)
moisture_sensor = AnalogIn(ads, ADS.P0) # A0 บน ADS1115
try:
while True:
moisture_level = moisture_sensor.value
print(f"ระดับความชื้นในดิน: {moisture_level}")
time.sleep(2)
except KeyboardInterrupt:
print("กำลังออกจากโปรแกรม...")
ขั้นตอนที่ 6: การประยุกต์ใช้ของ เซ็นเซอร์วัดความชื้นในดินs
- ระบบรดน้ำอัจฉริยะ – รดน้ำต้นไม้อัตโนมัติเมื่อดินแห้ง.
- สถานีตรวจอากาศ – ตรวจสอบสภาพดินจากระยะไกล.
- ระบบอัตโนมัติสำหรับโรงเรือน – ปรับการเจริญเติบโตของพืชให้เหมาะสมตามระดับความชื้น.
- โครงการ IoT – ส่งข้อมูลไปยังแพลตฟอร์มคลาวด์เพื่อการตรวจสอบระยะไกล.
การแก้ไขปัญหา
-
เซ็นเซอร์ไม่ตรวจจับความชื้น
- ตรวจสอบการเดินสายไฟและให้แน่ใจว่าแรงดันไฟฟ้าถูกต้อง
- สำหรับเซ็นเซอร์แบบแอนะล็อก ให้ตรวจสอบให้แน่ใจว่า ADS1115 โมดูลถูกตรวจพบอย่างถูกต้อง การใช้:
sudo i2cdetect -y 1
-
การอ่านค่าไม่เสถียร
- หลีกเลี่ยงการวางเซ็นเซอร์ในที่ที่มากเกินไป สภาพแวดล้อมที่เปียกชื้น เพื่อป้องกันการกัดกร่อน.
- สำหรับเซ็นเซอร์แบบความจุไฟฟ้า ให้แน่ใจว่า ทำความสะอาดพื้นผิวโพรบ เพื่อการอ่านค่าที่แม่นยำ.
บทสรุป
เซ็นเซอร์ความชื้นในดินช่วยให้โครงการ Raspberry Pi สามารถ ตรวจติดตามและทำให้การรดน้ำต้นไม้เป็นอัตโนมัติ, ทำให้เหมาะสำหรับ การทำสวนอัจฉริยะและแอปพลิเคชัน IoT. โดยทำตามคำแนะนำนี้ คุณสามารถ อ่านระดับความชื้นในดินและสั่งการทำงานอัตโนมัติ อิงจากข้อมูลแบบเรียลไทม์! 🌱🚀
