الوصف
وحدة مستشعر المسافة بتقنية زمن الرحلة VL53L1X
يُعد VL53L1X مستشعراً مصغراً بتقنية زمن الرحلة (ToF) من STMicroelectronics. يقيس المسافة الفعلية حتى 4 أمتار، ويدعم معدل تحديث يصل إلى 50 هرتز. ويضم باعث ليزر بطول موجي 940 نانومتر من الفئة 1، ومصفوفة SPAD، ومرشحات للأشعة تحت الحمراء، لتوفير قياسات دقيقة بصرف النظر عن لون الهدف أو انعكاسيته.
المواصفات التقنية
- جهد التغذية: 2.6–3.5 فولت DC
- نطاق القياس: 5–4000 مم
- معدل القياس: حتى 50 هرتز
- مجال الرؤية (FoV): 27° عادةً (قابل للبرمجة من 15° إلى 27°)
- الواجهة: I²C حتى 400 كيلوهرتز
- طول موجة الليزر: 940 نانومتر (الفئة 1، آمن للعين)
- استهلاك التيار: 20 مللي أمبير عادةً أثناء التشغيل
- أبعاد المستشعر: 4.4 × 2.5 × 1.56 مم
- درجة حرارة التشغيل: −20 إلى +85 °م
الاستخدامات الشائعة
- الروبوتات والطائرات المسيّرة لتجنب العوائق
- قياس مستوى السوائل أو المواد السائبة
- كشف الحضور وعدّ الأجسام
- الأتمتة الصناعية ومراقبة الجودة
- مشاريع استهلاكية مثل مقاييس المسافة وواجهات التحكم بالإيماءات
مثال Arduino باستخدام مكتبة Adafruit_VL53L1X
يهيّئ هذا المثال المستشعر عبر I²C ويقرأ المسافة المقاسة بالملليمتر.
#include <Wire.h>
#include <Adafruit_VL53L1X.h>
Adafruit_VL53L1X tof = Adafruit_VL53L1X();
void setup() {
Serial.begin(115200);
if (!tof.begin()) {
Serial.println("Erreur init VL53L1X");
while (1);
}
// Réglage d'une résolution de 50 Hz
tof.setMeasurementTimingBudget(20000); // en μs
}
void loop() {
VL53L1X_RangingMeasurementData_t measure;
tof.rangingTest(&measure, false); // false = pas d'affichage des données brutes
if (measure.RangeStatus == 0) {
Serial.print("Distance: ");
Serial.print(measure.RangeMilliMeter);
Serial.println(" mm");
} else {
Serial.println("Hors plage ou erreur");
}
delay(100);
}
شرح سريع:
- تُهيّئ
tof.begin()الاتصال عبر I²C. - تضبط
setMeasurementTimingBudget()التوازن بين الدقة والسرعة (نحو 50 هرتز هنا). - داخل
loop()، تقرأrangingTest()المسافة بالملليمتر.
توزيع الأطراف والتوصيل
| طرف وحدة VL53L1X | Arduino UNO | ملاحظات |
|---|---|---|
| VIN | 3.3 V | تقبل بعض لوحات breakout جهد 5 فولت (تحقق من لوحتك). |
| GND | GND | أرضي مشترك. |
| SDA | A4 (SDA) | ناقل بيانات I²C. |
| SCL | A5 (SCL) | ناقل ساعة I²C. |
| XSHUT (اختياري) | — أو D2 | إعادة ضبط المستشعر (اتركه غير موصول إذا لم يُستخدم). |
| GPIO (مقاطعة) | — | غير مستخدم في هذا البرنامج. |
صِل VIN بجهد التغذية المناسب، وGND بالأرضي، وSDA بـ A4، وSCL بـ A5. إذا كانت وحدتك مزودة بمنظّم 5 فولت، فيمكن تغذيتها بجهد 5 فولت؛ وإلا فالتزم بجهد 3.3 فولت.
الكلمات المفتاحية: كشف العوائق، مستشعر المسافة، ToF، VL53L1X.









