ال VL53L0X هو مستشعر وقت الرحلة (TOF) يقيس المسافات بدقة باستخدام تقنية الليزر. يستخدم عادة في تطبيقات الروبوتات والأتمتة واكتشاف العقبات. سيمشي هذا الدليل من خلال إعداد واستخدام VL53L0X مع Raspberry PI.
ماذا ستحتاج
- التوت بي (أي نموذج يحمل دعم GPIO ، على سبيل المثال ، PI 3 ، PI 4)
- وحدة مستشعر المسافة VL53L0X
- الأسلاك الأسلاك والبلوز
- بيثون مثبت على التوت PI
الخطوة 1: توصيل VL53L0X إلى Raspberry Pi
ال يتصل VL53L0X عبر I2C، لذلك نحن بحاجة إلى توصيله بدبابيس I2C في Raspberry PI.
الاتصالات
VL53L0X PIN | التوت بي دبوس |
---|---|
VCC | 3.3V (دبوس 1) |
GND | الأرض (دبوس 6) |
SDA | SDA (PIN 3 ، GPIO2) |
SCL | SCL (PIN 5 ، GPIO3) |
Xshut (اختياري) | أي GPIO (لتمكين/تعطيل المستشعر) |
الخطوة 2: تمكين I2C على Raspberry Pi
نظرًا لأن VL53L0X يتواصل عبر I2C ، نحتاج إلى تمكين واجهة I2C.
-
افتح أداة تكوين Raspberry Pi:
sudo raspi-config
-
انتقل إلى خيارات الواجهة> i2c وتمكينها.
-
أعد تشغيل Raspberry 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.
مثال رمز بيثون
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
- اكتشاف العقبات - استخدام في الروبوتات والمركبات المستقلة للكشف عن الأشياء.
- استشعار القرب - أتمتة الأبواب أو أنظمة الأمان أو تطبيقات إنترنت الأشياء.
- قياس المستوى - مراقبة مستوى السائل في حاوية.
- إيماءات الاعتراف - تتبع حركات اليد للواجهات التي لا تلمس.
استكشاف الأخطاء وإصلاحها
-
لم يتم اكتشاف الجهاز (
i2cdetect
لا تظهر0x29
)- تحقق من أسلاك SDA/SCL دبابيس.
- تأكد من تمكين واجهة I2C على Raspberry PI.
-
قراءات غير دقيقة
- تأكد من عدم إعاقة المستشعر.
- تجنب الأسطح العاكسة التي قد تسبب قراءات غير صحيحة.
-
مستشعرات VL53L0X متعددة
- استخدم Xshut PIN لتعيين عناوين I2C مختلفة لأجهزة استشعار VL53L0X متعددة.
خاتمة
VL53L0X قوي مستشعر المسافة القائم على الليزر الذي يدمج بسلاسة مع التوت PI. باتباع هذا الدليل ، يمكنك قياس مسافات الروبوتات والأتمتة وإنترنت الأشياء بدقة. تجربة تطبيقات مختلفة لإلغاء قفل إمكاناتها الكاملة! 🚀