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/4-manufacturing/lessons/4-trigger-fruit-detector/pi-proximity.md

9.1 KiB

ตรวจจับความใกล้ - Raspberry Pi

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

ฮาร์ดแวร์

Raspberry Pi ต้องการเซ็นเซอร์ตรวจจับความใกล้

เซ็นเซอร์ที่คุณจะใช้คือ Grove Time of Flight distance sensor เซ็นเซอร์นี้ใช้โมดูลเลเซอร์ในการวัดระยะทาง โดยมีช่วงการวัดตั้งแต่ 10 มม. ถึง 2000 มม. (1 ซม. - 2 ม.) และสามารถรายงานค่าระยะทางในช่วงนี้ได้อย่างแม่นยำ โดยระยะทางที่เกิน 1000 มม. จะรายงานเป็น 8109 มม.

ตัววัดระยะเลเซอร์อยู่ด้านหลังของเซ็นเซอร์ ซึ่งเป็นด้านตรงข้ามกับช่องเสียบ Grove

นี่คือเซ็นเซอร์แบบ I²C

เชื่อมต่อเซ็นเซอร์ Time of Flight

เซ็นเซอร์ Time of Flight ของ Grove สามารถเชื่อมต่อกับ Raspberry Pi ได้

งาน - เชื่อมต่อเซ็นเซอร์ Time of Flight

เชื่อมต่อเซ็นเซอร์ Time of Flight

เซ็นเซอร์ Time of Flight ของ Grove

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

  2. เมื่อ Raspberry Pi ปิดอยู่ ให้เชื่อมต่อปลายอีกด้านของสาย Grove เข้ากับหนึ่งในช่องเสียบ I²C ที่ระบุว่า I²C บน Grove Base Hat ที่ติดตั้งอยู่บน Pi ช่องเสียบเหล่านี้อยู่แถวล่างสุด ตรงข้ามกับพิน GPIO และอยู่ใกล้กับช่องเสียบสายกล้อง

เซ็นเซอร์ Time of Flight ของ Grove เชื่อมต่อกับช่องเสียบ I²C

เขียนโปรแกรมเซ็นเซอร์ Time of Flight

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

งาน - เขียนโปรแกรมเซ็นเซอร์ Time of Flight

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

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

  2. เปิดโค้ด fruit-quality-detector ใน VS Code ไม่ว่าจะเปิดโดยตรงบน Pi หรือเชื่อมต่อผ่าน Remote SSH extension

  3. ติดตั้งแพ็กเกจ rpi-vl53l0x ผ่าน Pip ซึ่งเป็นแพ็กเกจ Python ที่ใช้ในการทำงานร่วมกับเซ็นเซอร์วัดระยะ VL53L0X ติดตั้งโดยใช้คำสั่ง pip นี้:

    pip install rpi-vl53l0x
    
  4. สร้างไฟล์ใหม่ในโปรเจกต์นี้ชื่อว่า distance-sensor.py

    💁 วิธีง่ายๆ ในการจำลองอุปกรณ์ IoT หลายตัวคือการเขียนแต่ละตัวในไฟล์ Python แยกกัน แล้วรันไฟล์เหล่านั้นพร้อมกัน

  5. เพิ่มโค้ดต่อไปนี้ลงในไฟล์:

    import time
    
    from grove.i2c import Bus
    from rpi_vl53l0x.vl53l0x import VL53L0X
    

    โค้ดนี้นำเข้าไลบรารี Grove I²C bus และไลบรารีเซ็นเซอร์สำหรับฮาร์ดแวร์หลักที่อยู่ในเซ็นเซอร์ Time of Flight ของ Grove

  6. ด้านล่างนี้ ให้เพิ่มโค้ดต่อไปนี้เพื่อเข้าถึงเซ็นเซอร์:

    distance_sensor = VL53L0X(bus = Bus().bus)
    distance_sensor.begin()    
    

    โค้ดนี้ประกาศเซ็นเซอร์วัดระยะโดยใช้ Grove I²C bus จากนั้นเริ่มต้นเซ็นเซอร์

  7. สุดท้าย เพิ่มลูปแบบไม่สิ้นสุดเพื่ออ่านค่าระยะทาง:

    while True:
        distance_sensor.wait_ready()
        print(f'Distance = {distance_sensor.get_distance()} mm')
        time.sleep(1)
    

    โค้ดนี้รอค่าที่พร้อมอ่านจากเซ็นเซอร์ จากนั้นพิมพ์ค่าลงในคอนโซล

  8. รันโค้ดนี้

    💁 อย่าลืมว่าไฟล์นี้ชื่อ distance-sensor.py! ตรวจสอบให้แน่ใจว่ารันไฟล์นี้ผ่าน Python ไม่ใช่ app.py

  9. คุณจะเห็นค่าการวัดระยะทางปรากฏในคอนโซล ลองวางวัตถุใกล้เซ็นเซอร์แล้วคุณจะเห็นค่าการวัดระยะทาง:

    pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py 
    Distance = 29 mm
    Distance = 28 mm
    Distance = 30 mm
    Distance = 151 mm
    

    ตัววัดระยะเลเซอร์อยู่ด้านหลังของเซ็นเซอร์ ดังนั้นตรวจสอบให้แน่ใจว่าใช้ด้านที่ถูกต้องเมื่อวัดระยะทาง

    ตัววัดระยะเลเซอร์ด้านหลังเซ็นเซอร์ Time of Flight ชี้ไปที่กล้วย

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

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


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