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.

writeReg(reg: int, value: int) None#

כתיבת value יחיד בן 8 ביט לכתובת אוגר ההתקן בת 16 הביטים reg.

writeReg16Bit(reg: int, value: int) None#

כתיבת value בן 16 ביט (big-endian) לכתובת אוגר ההתקן בת 16 הביטים reg.

readReg(reg: int) int#

קריאת ערך יחיד בן 8 ביט מכתובת אוגר ההתקן בת 16 הביטים reg והחזרתו כ-int.

readReg16Bit(reg: int) int#

קריאת ערך בן 16 ביט (big-endian) מכתובת אוגר ההתקן בת 16 הביטים reg והחזרתו כ-int.

read_model_id() int#

החזרת תוכן אוגר מזהה הדגם בן 16 הביטים בכתובת 0x010F. הערך הצפוי עבור VL53L1X הוא 0xEACC.

reset() None#

ביצוע איפוס רך של ההתקן על ידי החלפת מצב אוגר האיפוס הרך 0x0000. חוסם למשך 100 אלפיות שנייה בזמן שההתקן מוחזק במצב איפוס.

read() int#

הפעלת קריאה של אוגר RESULT__RANGE_STATUS (0x0089) והחזרת המרחק הסופי המתוקן לדליפת אות (crosstalk), במילימטרים, של גלאי האזור היחיד SD0 כ-int.

קבועים#

vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes#

בלוק תצורת ברירת מחדל בן 91 בתים הנכתב אל ההתקן החל מאוגר 0x2D במהלך הבנייה. הבלוק מגדיר את קוטביות הפסיקה, סף הסיגמא, סף האות, מחזור בין-מדידות, ספי מרחק, מרכז/גודל ROI ופרמטרי מדידה נוספים המומלצים על ידי מנהל ההתקן האולטרה-קל של ST. רוב הבתים אינם ניתנים לשינוי על ידי המשתמש; עיינו בהערות שבקוד המקור לגבי השדות הניתנים לכוונון על ידי המשתמש.