ที่ VL53L0X เป็นเซ็นเซอร์เวลาบิน (TOF) ที่วัดระยะทางอย่างแม่นยำโดยใช้เทคโนโลยีเลเซอร์ มันมักจะใช้ในหุ่นยนต์ระบบอัตโนมัติและการตรวจจับอุปสรรค คู่มือนี้จะนำคุณผ่านการตั้งค่าและใช้ VL53L0X กับ Raspberry Pi
สิ่งที่คุณต้องการ
- Raspberry Pi (รุ่นใด ๆ ที่มีการสนับสนุน GPIO เช่น PI 3, PI 4)
- โมดูลเซ็นเซอร์ระยะทาง VL53L0X
- เครื่องหั่นขนมปังและสายจัมเปอร์
- ติดตั้ง Python บนราสเบอร์รี่ pi
ขั้นตอนที่ 1: การเดินสาย VL53L0X ไปยัง Raspberry Pi
ที่ VL53L0X สื่อสารผ่าน I2Cดังนั้นเราจำเป็นต้องเชื่อมต่อกับพิน I2C ของ Raspberry Pi
การเชื่อมต่อ
VL53L0X PIN | Raspberry Pi Pin |
---|---|
VCC | 3.3V (พิน 1) |
gnd | พื้นดิน (พิน 6) |
SDA | SDA (พิน 3, GPIO2) |
SCL | SCL (PIN 5, GPIO3) |
xshut (ไม่บังคับ) | GPIO ใด ๆ (เพื่อเปิด/ปิดการใช้งานเซ็นเซอร์) |
ขั้นตอนที่ 2: เปิดใช้งาน I2C บน Raspberry Pi
เนื่องจาก VL53L0X สื่อสารผ่าน I2C เราจึงต้องเปิดใช้งานอินเตอร์เฟส I2C
-
เปิดเครื่องมือกำหนดค่า Raspberry Pi:
sudo raspi-config
-
นำทางไปยัง ตัวเลือกอินเตอร์เฟส> i2c และเปิดใช้งาน
-
รีบูตราสเบอร์รี่ pi:
sudo reboot
-
ตรวจสอบว่าตรวจพบเซ็นเซอร์โดยการทำงาน:
sudo i2cdetect -y 1
VL53L0X ควรปรากฏที่ 0x29.
ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ
- อัปเดตรายการแพ็คเกจของ Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- ติดตั้งไลบรารี 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
- การตรวจจับอุปสรรค - ใช้ในหุ่นยนต์และยานพาหนะอัตโนมัติเพื่อตรวจจับวัตถุ
- การตรวจจับความใกล้ชิด - ทำประตูอัตโนมัติระบบรักษาความปลอดภัยหรือแอพพลิเคชั่น IoT
- การวัดระดับ - ตรวจสอบระดับของของเหลวในภาชนะ
- การรับรู้ท่าทาง - ติดตามการเคลื่อนไหวของมือสำหรับอินเทอร์เฟซแบบไม่สัมผัส
การแก้ไขปัญหา
-
ไม่พบอุปกรณ์ (
i2cdetect
ไม่แสดง0x29
)- ตรวจสอบสายไฟของ SDA/SCL พิน
- ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซ I2C เปิดใช้งานบน Raspberry Pi
-
การอ่านที่ไม่ถูกต้อง
- ตรวจสอบให้แน่ใจว่าเซ็นเซอร์ไม่ได้ถูกขัดขวาง
- หลีกเลี่ยงพื้นผิวสะท้อนแสงซึ่งอาจทำให้การอ่านไม่ถูกต้อง
-
เซ็นเซอร์ VL53L0X หลายตัว
- ใช้ Xshut PIN เพื่อกำหนดที่อยู่ I2C ที่แตกต่างกันให้กับเซ็นเซอร์ VL53L0X หลายตัว
บทสรุป
VL53L0X นั้นทรงพลัง เซ็นเซอร์ระยะทางที่ใช้เลเซอร์ ที่รวมเข้ากับ Raspberry Pi อย่างราบรื่น โดยทำตามคำแนะนำนี้คุณสามารถวัดระยะทางสำหรับหุ่นยนต์ระบบอัตโนมัติและโครงการ IoT ได้อย่างแม่นยำ ทดลองกับแอพพลิเคชั่นที่แตกต่างกันเพื่อปลดล็อกศักยภาพอย่างเต็มที่! 🚀