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/3-automated-plant-watering/pi-relay.md

9.4 KiB

ควบคุมรีเลย์ - Raspberry Pi

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

ฮาร์ดแวร์

Raspberry Pi ต้องการรีเลย์

รีเลย์ที่คุณจะใช้คือ Grove relay ซึ่งเป็นรีเลย์แบบเปิดปกติ (หมายความว่าวงจรเอาต์พุตจะเปิดหรือถูกตัดการเชื่อมต่อเมื่อไม่มีสัญญาณส่งไปยังรีเลย์) และสามารถรองรับวงจรเอาต์พุตได้สูงสุด 250V และ 10A

นี่คืออุปกรณ์แอคชูเอเตอร์แบบดิจิทัล ดังนั้นจึงเชื่อมต่อกับพินดิจิทัลบน Grove Base Hat

เชื่อมต่อรีเลย์

รีเลย์ Grove สามารถเชื่อมต่อกับ Raspberry Pi ได้

งาน

เชื่อมต่อรีเลย์

รีเลย์ Grove

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

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

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

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

เขียนโปรแกรมควบคุมรีเลย์

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

งาน

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

  1. เปิด Raspberry Pi และรอให้บูตเสร็จ

  2. เปิดโปรเจกต์ soil-moisture-sensor จากบทเรียนก่อนหน้าใน VS Code หากยังไม่ได้เปิด คุณจะเพิ่มโค้ดในโปรเจกต์นี้

  3. เพิ่มโค้ดต่อไปนี้ในไฟล์ app.py ใต้ส่วนของการนำเข้าโค้ดที่มีอยู่แล้ว:

    from grove.grove_relay import GroveRelay
    

    คำสั่งนี้นำเข้า GroveRelay จากไลบรารี Python ของ Grove เพื่อใช้งานกับรีเลย์ Grove

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

    relay = GroveRelay(5)
    

    โค้ดนี้สร้างรีเลย์โดยใช้พิน D5 ซึ่งเป็นพินดิจิทัลที่คุณเชื่อมต่อรีเลย์ไว้

  5. เพื่อทดสอบว่ารีเลย์ทำงานหรือไม่ ให้เพิ่มโค้ดต่อไปนี้ในลูป while True::

    relay.on()
    time.sleep(.5)
    relay.off()
    

    โค้ดนี้จะเปิดรีเลย์ รอ 0.5 วินาที แล้วปิดรีเลย์

  6. รันแอป Python รีเลย์จะเปิดและปิดทุกๆ 10 วินาที โดยมีการหน่วงเวลา 0.5 วินาทีระหว่างการเปิดและปิด คุณจะได้ยินเสียงคลิกของรีเลย์เมื่อเปิดและปิด และไฟ LED บนบอร์ด Grove จะสว่างเมื่อรีเลย์เปิด และดับเมื่อรีเลย์ปิด

    รีเลย์เปิดและปิด

ควบคุมรีเลย์จากความชื้นในดิน

เมื่อรีเลย์ทำงานแล้ว คุณสามารถควบคุมมันตามค่าความชื้นในดินได้

งาน

ควบคุมรีเลย์

  1. ลบโค้ด 3 บรรทัดที่คุณเพิ่มเพื่อทดสอบรีเลย์ และแทนที่ด้วยโค้ดต่อไปนี้:

    if soil_moisture > 450:
        print("Soil Moisture is too low, turning relay on.")
        relay.on()
    else:
        print("Soil Moisture is ok, turning relay off.")
        relay.off()
    

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

    💁 จำไว้ว่าค่าเซ็นเซอร์วัดความชื้นในดินแบบ capacitive จะอ่านค่าความชื้นในดินได้ต่ำเมื่อดินมีความชื้นมาก และในทางกลับกัน

  2. รันแอป Python คุณจะเห็นรีเลย์เปิดหรือปิดขึ้นอยู่กับค่าความชื้นในดิน ลองในดินแห้ง แล้วเติมน้ำดู

    Soil Moisture: 638
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 452
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 347
    Soil Moisture is ok, turning relay off.
    

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

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


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