الـ VL53L0X هو مستشعر Time-of-Flight (ToF) يقيس المسافات بدقة باستخدام تقنية الليزر. يُستخدم عادةً في الروبوتات والأتمتة وتطبيقات اكتشاف العوائق. سيرشدك هذا الدليل خلال عملية إعداد واستخدام الـ VL53L0X مع Raspberry Pi.
ما ستحتاج إليه
- Raspberry Pi (أي نموذج يدعم GPIO، مثل Pi 3، Pi 4)
- وحدة مستشعر المسافة VL53L0X
- لوحة تجارب وأسلاك توصيل
- تم تثبيت Python على Raspberry Pi
الخطوة 1: توصيل الأسلاك VL53L0X إلى الـ Raspberry Pi
الـ VL53L0X يتواصل عبر I2C، لذا نحتاج إلى توصيله بدبابيس I2C الخاصة بـ Raspberry Pi.
اتصالات
| VL53L0X دبوس | دبوس Raspberry Pi |
|---|---|
| VCC | 3.3V (دبوس 1) |
| GND | الأرضي (الدبوس 6) |
| SDA | SDA (الدبوس 3، GPIO2) |
| SCL | SCL (دبوس 5، GPIO3) |
| XSHUT (اختياري) | أي GPIO (لتمكين/تعطيل المستشعر) |
`
منذ الـ VL53L0X يتواصل عبر I2C، نحتاج إلى تمكين واجهة I2C.
-
افتح أداة تهيئة Raspberry Pi:
sudo raspi-config -
انتقل إلى خيارات الواجهة > I2C وفعِّله.
-
أعد تشغيل Raspberry Pi:
sudo إعادة التشغيل -
تحقَّق من اكتشاف المستشعر عبر تشغيل:
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
# تهيئة I2C و 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
- اكتشاف العوائق – يُستخدم في الروبوتات والمركبات الذاتية القيادة لاكتشاف الأجسام.
- الاستشعار عن القرب – أتمِت الأبواب وأنظمة الأمان أو تطبيقات إنترنت الأشياء.
- قياس المستوى – راقب مستوى السائل في الحاوية.
- التعرّف على الإيماءات – تتبّع حركات اليد لواجهات دون لمس.
استكشاف الأخطاء وإصلاحها
-
الجهاز غير مُكتشف (
`لا يظهر0x29)- تحقق من الأسلاك الخاصة بـ SDA/SCL دبابيس.
- تأكّد من تمكين واجهة I2C على Raspberry Pi.
-
قراءات غير دقيقة
- تأكد من عدم وجود ما يعيق المستشعر.
- تجنب الأسطح العاكسة التي قد تتسبب في قراءات غير صحيحة.
-
متعدد حساسات VL53L0X
- استخدم الـ XSHUT دبوس لتعيين عناوين I2C مختلفة لعدة حساسات VL53L0X.
الخلاصة
الـ VL53L0X هو قوي مستشعر مسافة قائم على الليزر التي تندمج بسلاسة مع Raspberry Pi. باتباع هذا الدليل، يمكنك قياس المسافات بدقة لمشاريع الروبوتات والأتمتة وIoT. جرّب تطبيقات مختلفة لاكتشاف كامل إمكاناته! 🚀



