vl53l1x — מנהל התקן לחיישן מרחק VL53L1X ToF¶
מודול זה מספק מנהל התקן לחיישן המרחק VL53L1X של STMicroelectronics מבוסס זמן-מעוף (time-of-flight) דרך 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.
הבנאי מבצע איפוס רך (soft reset), מאמת את מזהה דגם השבב, כותב את בלוק תצורת ברירת המחדל אל ההתקן, ומיישם את תיקון אוגרי האתחול שה-API של ST מבצע בהפעלת המדידה הראשונה. הקריאה חוסמת למשך ~200 אלפיות שנייה בזמן שהחיישן מתייצב. מעלה
RuntimeErrorאם אוגר מזהה הדגם אינו מחזיר את הערך הצפוי0xEACC.- writeReg16Bit(reg: int, value: int) None¶
כתיבת
valueבן 16 ביט (big-endian) לכתובת אוגר ההתקן בת 16 הביטיםreg.
- readReg16Bit(reg: int) int¶
קריאת ערך בן 16 ביט (big-endian) מכתובת אוגר ההתקן בת 16 הביטים
regוהחזרתו כ-int.
- read_model_id() int¶
החזרת תוכן אוגר מזהה הדגם בן 16 הביטים בכתובת
0x010F. הערך הצפוי עבור VL53L1X הוא0xEACC.
קבועים¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
בלוק תצורת ברירת מחדל בן 91 בתים הנכתב אל ההתקן החל מאוגר
0x2Dבמהלך הבנייה. הבלוק מגדיר את קוטביות הפסיקה, סף הסיגמא, סף האות, מחזור בין-מדידות, ספי מרחק, מרכז/גודל ROI ופרמטרי מדידה נוספים המומלצים על ידי מנהל ההתקן האולטרה-קל של ST. רוב הבתים אינם ניתנים לשינוי על ידי המשתמש; עיינו בהערות שבקוד המקור לגבי השדות הניתנים לכוונון על ידי המשתמש.