vl53l1x --- مشغّل مستشعر المسافة VL53L1X بتقنية ToF

توفر هذه الوحدة مشغّلًا لمستشعر القياس بزمن الطيران VL53L1X من STMicroelectronics عبر I2C. يقيس VL53L1X المسافة المطلقة حتى نحو 4 أمتار باستخدام باعث ليزر غير مرئي بطول موجة 940 نانومترًا ومصفوفة استقبال SPAD.

مثال على الاستخدام:

import time
from machine import I2C
import vl53l1x

bus = I2C(1)
tof = vl53l1x.VL53L1X(bus)

while True:
    print("Distance: {} mm".format(tof.read()))
    time.sleep_ms(100)

الأصناف

class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)

إنشاء نسخة من مشغّل VL53L1X.

  • إن bus كائن ناقل machine.I2C مُعَدّ يُستخدم للتواصل مع المستشعر.

  • إن address هو عنوان I2C ذو 7 بتات للجهاز. القيمة الافتراضية 0x29.

يُجري المُنشئ إعادة ضبط برمجية، ويتحقق من معرّف طراز الشريحة، ويكتب كتلة الإعداد الافتراضية إلى الجهاز، ويطبّق إصلاح سجل بدء التشغيل الذي يجريه ST API عند أول بدء للقياس. ويتوقف الاستدعاء نحو 200 ميلي ثانية ريثما يستقر المستشعر. ويرفع RuntimeError إذا لم يُعد سجل معرّف الطراز القيمة المتوقعة 0xEACC.

writeReg(reg: int, value: int) None

كتابة قيمة value مفردة من 8 بتات إلى عنوان سجل الجهاز ذي الـ 16 بت reg.

writeReg16Bit(reg: int, value: int) None

كتابة قيمة value من 16 بت (بترتيب البايت الكبير) إلى عنوان سجل الجهاز ذي الـ 16 بت reg.

readReg(reg: int) int

قراءة قيمة مفردة من 8 بتات من عنوان سجل الجهاز ذي الـ 16 بت reg وإعادتها بوصفها int.

readReg16Bit(reg: int) int

قراءة قيمة من 16 بت (بترتيب البايت الكبير) من عنوان سجل الجهاز ذي الـ 16 بت reg وإعادتها بوصفها int.

read_model_id() int

إعادة محتويات سجل معرّف الطراز ذي الـ 16 بت عند 0x010F. والقيمة المتوقعة لـ VL53L1X هي 0xEACC.

reset() None

إجراء إعادة ضبط برمجية للجهاز عن طريق تبديل سجل إعادة الضبط البرمجية 0x0000. يتوقف لمدة 100 ميلي ثانية ريثما يبقى الجهاز في حالة إعادة الضبط.

read() int

تشغيل قراءة سجل RESULT__RANGE_STATUS (0x0089) وإعادة المدى النهائي المصحَّح من التداخل، بالمليمترات، للكاشف أحادي المنطقة SD0 بوصفه int.

الثوابت

vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes

كتلة الإعداد الافتراضية من 91 بايتًا المكتوبة إلى الجهاز ابتداءً من السجل 0x2D أثناء الإنشاء. تضبط الكتلة قطبية المقاطعة، وعتبة سيغما، وعتبة الإشارة، وفترة ما بين القياسات، وعتبات المسافة، ومركز/حجم منطقة الاهتمام (ROI)، وغيرها من معاملات القياس التي يوصي بها مشغّل ST فائق الخفة. ومعظم البايتات غير قابلة للتعديل من قبل المستخدم؛ راجع التعليقات الموجودة في المصدر للحقول القابلة للضبط من قبل المستخدم.