You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/th/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md

9.5 KiB

วัดความชื้นในดิน - Raspberry Pi

ในส่วนนี้ของบทเรียน คุณจะเพิ่มเซ็นเซอร์วัดความชื้นในดินแบบ capacitive เข้ากับ Raspberry Pi และอ่านค่าจากเซ็นเซอร์นี้

ฮาร์ดแวร์

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

เซ็นเซอร์ที่คุณจะใช้คือ Capacitive Soil Moisture Sensor ซึ่งวัดความชื้นในดินโดยการตรวจจับค่าความจุไฟฟ้าของดิน ซึ่งเป็นคุณสมบัติที่เปลี่ยนแปลงไปตามความชื้นในดิน เมื่อความชื้นในดินเพิ่มขึ้น แรงดันไฟฟ้าจะลดลง

นี่คือเซ็นเซอร์แบบอนาล็อก ดังนั้นจึงใช้ขาอนาล็อกและตัวแปลง ADC แบบ 10 บิตใน Grove Base Hat บน Raspberry Pi เพื่อแปลงแรงดันไฟฟ้าเป็นสัญญาณดิจิทัลที่มีค่าอยู่ในช่วง 1-1,023 จากนั้นส่งผ่าน GPIO pins บน Pi

เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน

เซ็นเซอร์วัดความชื้นในดินแบบ Grove สามารถเชื่อมต่อกับ Raspberry Pi ได้

งาน - เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน

เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน

เซ็นเซอร์วัดความชื้นในดินแบบ Grove

  1. เสียบปลายด้านหนึ่งของสาย Grove เข้ากับช่องเสียบบนเซ็นเซอร์วัดความชื้นในดิน สายจะเสียบได้เพียงด้านเดียวเท่านั้น

  2. ปิดการจ่ายไฟให้ Raspberry Pi แล้วเชื่อมต่อปลายอีกด้านของสาย Grove เข้ากับช่องอนาล็อกที่มีเครื่องหมาย A0 บน Grove Base Hat ที่ติดตั้งอยู่บน Pi ช่องนี้เป็นช่องที่สองจากขวาในแถวของช่องเสียบที่อยู่ติดกับ GPIO pins

เซ็นเซอร์วัดความชื้นในดินแบบ Grove เชื่อมต่อกับช่อง A0

  1. เสียบเซ็นเซอร์วัดความชื้นในดินลงในดิน โดยมีเส้นสีขาวที่เรียกว่า 'highest position line' เป็นตัวกำหนดระดับสูงสุด เสียบเซ็นเซอร์จนถึงเส้นนี้แต่ไม่เกินเส้นนี้

เซ็นเซอร์วัดความชื้นในดินแบบ Grove ในดิน

เขียนโปรแกรมสำหรับเซ็นเซอร์วัดความชื้นในดิน

ตอนนี้ Raspberry Pi สามารถเขียนโปรแกรมเพื่อใช้งานเซ็นเซอร์วัดความชื้นในดินที่เชื่อมต่ออยู่ได้แล้ว

งาน - เขียนโปรแกรมสำหรับเซ็นเซอร์วัดความชื้นในดิน

เขียนโปรแกรมสำหรับอุปกรณ์

  1. เปิด Raspberry Pi และรอจนกว่าจะบูตเสร็จ

  2. เปิด VS Code โดยตรงบน Pi หรือเชื่อมต่อผ่าน Remote SSH extension

    ⚠️ คุณสามารถดู คำแนะนำในการตั้งค่าและเปิด VS Code ใน nightlight - บทเรียนที่ 1 หากจำเป็น

  3. จาก terminal สร้างโฟลเดอร์ใหม่ในไดเรกทอรี home ของผู้ใช้ pi ชื่อ soil-moisture-sensor และสร้างไฟล์ในโฟลเดอร์นี้ชื่อ app.py

  4. เปิดโฟลเดอร์นี้ใน VS Code

  5. เพิ่มโค้ดต่อไปนี้ในไฟล์ app.py เพื่อ import ไลบรารีที่จำเป็น:

    import time
    from grove.adc import ADC
    

    คำสั่ง import time ใช้สำหรับ import โมดูล time ซึ่งจะถูกใช้งานในภายหลังในงานนี้

    คำสั่ง from grove.adc import ADC ใช้สำหรับ import ADC จากไลบรารี Python ของ Grove ไลบรารีนี้มีโค้ดสำหรับโต้ตอบกับตัวแปลงอนาล็อกเป็นดิจิทัล (ADC) บน Pi Base Hat และอ่านแรงดันไฟฟ้าจากเซ็นเซอร์อนาล็อก

  6. เพิ่มโค้ดต่อไปนี้ด้านล่างเพื่อสร้างอินสแตนซ์ของคลาส ADC:

    adc = ADC()
    
  7. เพิ่มลูปแบบไม่สิ้นสุดที่อ่านค่าจาก ADC บนขา A0 และเขียนผลลัพธ์ไปยังคอนโซล ลูปนี้จะหยุดพัก 10 วินาทีระหว่างการอ่านแต่ละครั้ง

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  8. รันแอปพลิเคชัน Python คุณจะเห็นค่าความชื้นในดินแสดงบนคอนโซล เติมน้ำลงในดินหรือดึงเซ็นเซอร์ออกจากดิน แล้วสังเกตค่าที่เปลี่ยนแปลง

    pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py 
    Soil moisture: 615
    Soil moisture: 612
    Soil moisture: 498
    Soil moisture: 493
    Soil moisture: 490
    Soil Moisture: 388
    

    ในตัวอย่างผลลัพธ์ด้านบน คุณจะเห็นแรงดันไฟฟ้าลดลงเมื่อเติมน้ำ

💁 คุณสามารถค้นหาโค้ดนี้ได้ในโฟลเดอร์ code/pi

😀 โปรแกรมเซ็นเซอร์วัดความชื้นในดินของคุณสำเร็จแล้ว!


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้