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 فائق الخفة. ومعظم البايتات غير قابلة للتعديل من قبل المستخدم؛ راجع التعليقات الموجودة في المصدر للحقول القابلة للضبط من قبل المستخدم.