อัน เซ็นเซอร์ความชื้นในดิน ช่วยให้ราสเบอร์รี่ Pi ตรวจสอบความชื้นในดินทำให้เหมาะอย่างยิ่งสำหรับ การทำสวนอัจฉริยะระบบชลประทานและการตรวจสอบด้านสิ่งแวดล้อม- คู่มือนี้จะนำคุณผ่านการตั้งค่าและใช้เซ็นเซอร์ความชื้นในดินกับ Raspberry Pi
สิ่งที่คุณต้องการ
- Raspberry Pi (รุ่นใด ๆ ที่มีการสนับสนุน GPIO เช่น PI 3, PI 4)
- เซ็นเซอร์ความชื้นในดิน (เอาต์พุตแบบอะนาล็อกหรือดิจิตอล)
- โมดูล ADC (เช่น ADS1115) สำหรับเซ็นเซอร์อะนาล็อก (ถ้าจำเป็น)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- ติดตั้ง Python บนราสเบอร์รี่ pi
ขั้นตอนที่ 1: ทำความเข้าใจกับเซ็นเซอร์ความชื้นในดิน
เซ็นเซอร์ความชื้นในดินมีสองประเภท:
- เซ็นเซอร์เอาต์พุตดิจิตอล (เช่นเซ็นเซอร์ความชื้นในดินแบบ capacitive) - จัดเตรียมก สูง/ต่ำ สัญญาณเมื่อความชื้นข้ามเกณฑ์
- เซ็นเซอร์เอาต์พุตแบบอะนาล็อก - จัดหาแรงดันไฟฟ้าผันแปรตามความชื้นของดินซึ่งต้องการ ADC (ตัวแปลงแบบอะนาล็อกเป็นดิจิตอล) เช่น ADS1115
ขั้นตอนที่ 2: เดินสายเซ็นเซอร์ไปยัง Raspberry Pi
สำหรับเซ็นเซอร์ความชื้นในดินดิจิตอล
พินเซ็นเซอร์ | Raspberry Pi Pin |
---|---|
VCC | 3.3V หรือ 5V (พิน 1 หรือ 2) |
gnd | พื้นดิน (พิน 6) |
D0 (ดิจิตอล) | GPIO ใด ๆ (เช่น GPIO17, PIN 11) |
สำหรับเซ็นเซอร์เอาต์พุตแบบอะนาล็อก (พร้อม ADS1115)
พินเซ็นเซอร์ | ADS1115 พิน | Raspberry Pi Pin |
---|---|---|
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 และเปิดใช้งาน
- รีบูตราสเบอร์รี่ 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
# 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...")
ขั้นตอนที่ 6: การประยุกต์ใช้เซ็นเซอร์ความชื้นในดิน
- การชลประทานอย่างชาญฉลาด - พืชน้ำโดยอัตโนมัติเมื่อดินแห้ง
- สถานีอากาศ - ตรวจสอบสภาพดินจากระยะไกล
- ระบบเรือนกระจกอัตโนมัติ - เพิ่มประสิทธิภาพการเจริญเติบโตของพืชตามระดับความชื้น
- โครงการ IoT - ส่งข้อมูลไปยังแพลตฟอร์มคลาวด์สำหรับการตรวจสอบระยะไกล
การแก้ไขปัญหา
-
เซ็นเซอร์ไม่ตรวจจับความชื้น
- ตรวจสอบสายไฟและตรวจสอบให้แน่ใจว่าแรงดันไฟฟ้าที่ถูกต้อง
- สำหรับเซ็นเซอร์อะนาล็อกให้แน่ใจว่าไฟล์ ตรวจพบโมดูล ADS1115 อย่างถูกต้อง โดยใช้:
sudo i2cdetect -y 1
-
การอ่านที่ไม่แน่นอน
- หลีกเลี่ยงการวางเซ็นเซอร์ในมากเกินไป สภาพแวดล้อมที่เปียกชื้น เพื่อป้องกันการกัดกร่อน
- สำหรับเซ็นเซอร์ capacitive ให้แน่ใจ ทำความสะอาดพื้นผิวโพรบ สำหรับการอ่านที่ถูกต้อง
บทสรุป
เซ็นเซอร์ความชื้นในดินช่วยให้โครงการ Raspberry Pi ได้ ตรวจสอบและทำให้เกิดการรดน้ำพืชโดยอัตโนมัติทำให้พวกเขาเหมาะสำหรับ แอปพลิเคชั่นสวนอัจฉริยะและ IoT- โดยทำตามคำแนะนำนี้คุณสามารถ อ่านระดับความชื้นในดินและกระตุ้นการกระทำโดยอัตโนมัติ ขึ้นอยู่กับข้อมูลเรียลไทม์! 🌱🚀