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.
الثوابت¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
كتلة الإعداد الافتراضية من 91 بايتًا المكتوبة إلى الجهاز ابتداءً من السجل
0x2Dأثناء الإنشاء. تضبط الكتلة قطبية المقاطعة، وعتبة سيغما، وعتبة الإشارة، وفترة ما بين القياسات، وعتبات المسافة، ومركز/حجم منطقة الاهتمام (ROI)، وغيرها من معاملات القياس التي يوصي بها مشغّل ST فائق الخفة. ومعظم البايتات غير قابلة للتعديل من قبل المستخدم؛ راجع التعليقات الموجودة في المصدر للحقول القابلة للضبط من قبل المستخدم.