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. רוב הבתים אינם ניתנים לשינוי על ידי המשתמש; עיינו בהערות שבקוד המקור לגבי השדות הניתנים לכוונון על ידי המשתמש.