vl53l1x — ovladač ToF senzoru vzdálenosti VL53L1X¶
Tento modul poskytuje ovladač pro laserový dálkoměr VL53L1X (time-of-flight) od STMicroelectronics přes I2C. VL53L1X měří absolutní vzdálenost až ~4 m pomocí neviditelného laserového emitoru 940 nm a přijímacího pole SPAD.
Příklad použití:
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)
Třídy¶
- class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)¶
Vytvoří instanci ovladače VL53L1X.
busje nakonfigurovaný objekt sběrnicemachine.I2Cpoužitý pro komunikaci se senzorem.addressje 7bitová I2C adresa zařízení. Výchozí hodnota je0x29.
Konstruktor provede softwarový reset, ověří ID modelu čipu, zapíše do zařízení výchozí konfigurační blok a aplikuje opravu spouštěcích registrů, kterou ST API provádí při prvním spuštění měření. Volání blokuje na ~200 ms, než se senzor ustálí. Vyvolá
RuntimeError, pokud registr ID modelu nevrátí očekávanou hodnotu0xEACC.- writeReg(reg: int, value: int) None¶
Zapíše jedinou 8bitovou hodnotu
valuedo 16bitové adresy registru zařízeníreg.
- writeReg16Bit(reg: int, value: int) None¶
Zapíše 16bitovou hodnotu
value(big-endian) do 16bitové adresy registru zařízeníreg.
- readReg(reg: int) int¶
Přečte jedinou 8bitovou hodnotu z 16bitové adresy registru zařízení
rega vrátí ji jakoint.
- readReg16Bit(reg: int) int¶
Přečte 16bitovou hodnotu (big-endian) z 16bitové adresy registru zařízení
rega vrátí ji jakoint.
- read_model_id() int¶
Vrátí obsah 16bitového registru ID modelu na adrese
0x010F. Očekávaná hodnota pro VL53L1X je0xEACC.
Konstanty¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
Výchozí 91bajtový konfigurační blok zapsaný do zařízení počínaje registrem
0x2Dběhem konstrukce. Blok nastavuje polaritu přerušení, práh sigma, práh signálu, periodu mezi měřeními, prahy vzdálenosti, střed/velikost ROI a další parametry měření doporučené ovladačem ST ultra-light. Většina bajtů není uživatelsky modifikovatelná; uživatelsky laditelná pole najdete v komentářích ve zdrojovém kódu.