vl53l1x — VL53L1X ToF távolságérzékelő illesztőprogram¶
Ez a modul illesztőprogramot biztosít az STMicroelectronics VL53L1X repülési idő (time-of-flight) alapú távolságmérő érzékelőjéhez I2C-n keresztül. A VL53L1X abszolút távolságot mér ~4 m-ig egy 940 nm-es, láthatatlan lézersugárzó és egy SPAD vevőtömb segítségével.
Példa a használatra:
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)
Osztályok¶
- class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)¶
VL53L1X illesztőprogram-példány létrehozása.
A
busegy konfiguráltmachine.I2Cbusz-objektum, amelyet az érzékelővel való kommunikációhoz használ.Az
addressaz eszköz 7 bites I2C-címe. Alapértelmezetten0x29.
A konstruktor szoft resetet hajt végre, ellenőrzi a chip modellazonosítóját, az eszközre írja az alapértelmezett konfigurációs blokkot, és alkalmazza azt az indítási regiszterjavítást, amelyet az ST API az első távolságmérés indításakor hajt végre. A hívás ~200 ms-ig blokkol, amíg az érzékelő beáll.
RuntimeErrorkivételt dob, ha a modellazonosító-regiszter nem a várt0xEACCértéket adja vissza.- writeReg(reg: int, value: int) None¶
Egyetlen 8 bites
valueérték írása areg16 bites eszközregiszter-címre.
- writeReg16Bit(reg: int, value: int) None¶
Egy 16 bites
valueérték (big-endian) írása areg16 bites eszközregiszter-címre.
- readReg(reg: int) int¶
Egyetlen 8 bites érték beolvasása a
reg16 bites eszközregiszter-címről, és visszaadásainttípusként.
- readReg16Bit(reg: int) int¶
Egy 16 bites érték (big-endian) beolvasása a
reg16 bites eszközregiszter-címről, és visszaadásainttípusként.
- read_model_id() int¶
Visszaadja a
0x010Fcímen lévő 16 bites modellazonosító-regiszter tartalmát. A VL53L1X esetén a várt érték0xEACC.
Konstansok¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
Az alapértelmezett 91 bájtos konfigurációs blokk, amelyet a létrehozás során a
0x2Dregisztertől kezdődően ír az eszközre. A blokk beállítja a megszakítás polaritását, a szigma-küszöbértéket, a jelküszöbértéket, a mérések közötti periódust, a távolsági küszöbértékeket, a ROI középpontját/méretét és más, az ST ultra-light illesztőprogram által ajánlott távolságmérési paramétereket. A legtöbb bájt nem módosítható a felhasználó által; a felhasználó által hangolható mezőkért lásd a forráskódbeli megjegyzéseket.