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

การใช้เซ็นเซอร์เวลาบิน VL53L0X กับ Raspberry Pi

Using the VL53L0X Time-of-Flight Sensor with the Raspberry Pi

The VL53L0X เป็นเซ็นเซอร์ Time-of-Flight (ToF) ที่วัดระยะได้อย่างแม่นยำโดยใช้เทคโนโลยีเลเซอร์ มักใช้ในหุ่นยนต์ ระบบอัตโนมัติ และการตรวจจับสิ่งกีดขวาง คู่มือนี้จะแนะนำการตั้งค่าและการใช้งาน VL53L0X กับ Raspberry Pi.


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

  1. Raspberry Pi (รุ่นใดก็ได้ที่รองรับ GPIO เช่น Pi 3, Pi 4)
  2. โมดูลเซ็นเซอร์ระยะ VL53L0X
  3. บอร์ดทดลองและสายจัมเปอร์
  4. ติดตั้ง Python แล้ว บน Raspberry Pi

ขั้นตอนที่ 1: การต่อสาย VL53L0X กับ Raspberry Pi

ตัว VL53L0X สื่อสารผ่าน I2C ดังนั้นเราจึงต้องต่อเข้ากับขา I2C ของ Raspberry Pi.

การเชื่อมต่อ

VL53L0X ขา Raspberry Pi ขา
VCC 3.3V (Pin 1)
GND Ground (Pin 6)
SDA SDA (Pin 3, GPIO2)
SCL SCL (Pin 5, GPIO3)
XSHUT (ไม่บังคับ) GPIO ใดก็ได้ (เพื่อเปิด/ปิดเซ็นเซอร์)

ขั้นตอนที่ 2: เปิดใช้งาน I2C บน Raspberry Pi

เนื่องจาก VL53L0X สื่อสารผ่าน I2C เราจึงต้องเปิดใช้งานอินเทอร์เฟซ I2C.

  1. เปิดเครื่องมือกำหนดค่าของ Raspberry Pi:

    sudo raspi-config
    
  2. ไปที่ Interface Options > I2C และเปิดใช้งาน

  3. รีบูต Raspberry Pi:

    sudo reboot
    
  4. ยืนยันว่าเซ็นเซอร์ถูกตรวจพบโดยรันคำสั่ง:

    sudo i2cdetect -y 1
    

    ตัว VL53L0X ควรปรากฏที่ 0x29.


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

  1. อัปเดตรายการแพ็กเกจของ Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งไลบรารี Python ที่จำเป็น:
    sudo apt install -y python3-pip i2c-tools python3-smbus
    pip3 install adafruit-circuitpython-vl53l0x
    

ขั้นตอนที่ 4: อ่านข้อมูลระยะจาก VL53L0X

นี่คือสคริปต์ Python สำหรับวัดระยะด้วยเซ็นเซอร์ VL53L0X

ตัวอย่างโค้ด Python

import time
import board
import busio
import adafruit_vl53l0x

# Initialize I2C and VL53L0X sensor
i2c = busio.I2C(board.SCL, board.SDA)
vl53 = adafruit_vl53l0x.VL53L0X(i2c)

try:
    while True:
        distance = vl53.range  # Read distance in millimeters
        print(f"Distance: {distance} mm")
        time.sleep(1)
except KeyboardInterrupt:
    print("Exiting...")

ขั้นตอนที่ 5: การประยุกต์ใช้ VL53L0X

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

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

  1. อุปกรณ์ไม่ถูกตรวจพบ (i2cdetect ไม่แสดง 0x29)

    • ตรวจสอบการต่อสายของขา SDA/SCL.
    • ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซ I2C ถูกเปิดใช้งานบน Raspberry Pi.
  2. การอ่านค่าที่ไม่แม่นยำ

    • ตรวจสอบให้แน่ใจว่าเซ็นเซอร์ไม่ถูกบดบัง.
    • หลีกเลี่ยงพื้นผิวที่สะท้อนซึ่งอาจทำให้การอ่านค่าผิดพลาด.
  3. หลายตัว VL53L0X Sensors

    • ใช้ขา XSHUT เพื่อตั้งที่อยู่ I2C ต่างกันให้กับหลายๆ VL53L0X sensors.

ข้อสรุป

The VL53L0X เป็น laser-based distance sensor ที่ทรงพลังและรวมเข้ากับ 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.

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