ได้รับส่งมอบฟรีในคําสั่งทั้งหมดมากกว่า 20 ปอนด์!

ใช้เซ็นเซอร์ความชื้นในดินกับ Raspberry Pi

Using a Soil Moisture Sensor with the Raspberry Pi

A เซนเซอร์วัดความชื้นในดิน ช่วยให้ Raspberry Pi ตรวจวัดความชื้นในดิน, ทำให้เหมาะอย่างยิ่งสำหรับ การทำสวนอัจฉริยะ, ระบบชลประทาน, และการตรวจติดตามสิ่งแวดล้อม. คู่มือนี้จะแนะนำคุณทีละขั้นตอนเกี่ยวกับการตั้งค่าและการใช้งาน เซ็นเซอร์วัดความชื้นในดิน ด้วย Raspberry Pi.


สิ่งที่คุณต้องมี

  1. Raspberry Pi (รุ่นใดก็ได้ที่รองรับ GPIO เช่น Pi 3, Pi 4)
  2. เซ็นเซอร์ความชื้นในดิน (เอาต์พุตแบบแอนะล็อกหรือดิจิทัล)
  3. โมดูล ADC (เช่น, ADS1115) สำหรับเซ็นเซอร์อนาล็อก (หากจำเป็น)
  4. เบรดบอร์ดและสายจัมเปอร์
  5. ติดตั้ง 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 โมดูล), ให้เปิดใช้งาน:

  1. เปิดเครื่องมือกำหนดค่า Raspberry Pi:
    sudo raspi-config
    
  2. ไปที่ ตัวเลือกอินเทอร์เฟซ > I2C และเปิดใช้งาน.
  3. รีบูต Raspberry Pi:
    sudo reboot
    

ขั้นตอนที่ 4: ติดตั้งไลบรารีที่จำเป็น

  1. อัปเดต Raspberry Pi ของคุณ:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งไลบรารี 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

  1. ระบบรดน้ำอัจฉริยะ – รดน้ำต้นไม้อัตโนมัติเมื่อดินแห้ง.
  2. สถานีตรวจอากาศ – ตรวจสอบสภาพดินจากระยะไกล.
  3. ระบบอัตโนมัติสำหรับโรงเรือน – ปรับการเจริญเติบโตของพืชให้เหมาะสมตามระดับความชื้น.
  4. โครงการ IoT – ส่งข้อมูลไปยังแพลตฟอร์มคลาวด์เพื่อการตรวจสอบระยะไกล.

การแก้ไขปัญหา

  1. เซ็นเซอร์ไม่ตรวจจับความชื้น

    • ตรวจสอบการเดินสายไฟและให้แน่ใจว่าแรงดันไฟฟ้าถูกต้อง
    • สำหรับเซ็นเซอร์แบบแอนะล็อก ให้ตรวจสอบให้แน่ใจว่า ADS1115 โมดูลถูกตรวจพบอย่างถูกต้อง การใช้:
      sudo i2cdetect -y 1
      
  2. การอ่านค่าไม่เสถียร

    • หลีกเลี่ยงการวางเซ็นเซอร์ในที่ที่มากเกินไป สภาพแวดล้อมที่เปียกชื้น เพื่อป้องกันการกัดกร่อน.
    • สำหรับเซ็นเซอร์แบบความจุไฟฟ้า ให้แน่ใจว่า ทำความสะอาดพื้นผิวโพรบ เพื่อการอ่านค่าที่แม่นยำ.

บทสรุป

เซ็นเซอร์ความชื้นในดินช่วยให้โครงการ Raspberry Pi สามารถ ตรวจติดตามและทำให้การรดน้ำต้นไม้เป็นอัตโนมัติ, ทำให้เหมาะสำหรับ การทำสวนอัจฉริยะและแอปพลิเคชัน IoT. โดยทำตามคำแนะนำนี้ คุณสามารถ อ่านระดับความชื้นในดินและสั่งการทำงานอัตโนมัติ อิงจากข้อมูลแบบเรียลไทม์! 🌱🚀

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.

แสดงความคิดเห็น