vl53l1x — VL53L1X ToF-afstandssensordriver¶
Deze module biedt een driver voor de STMicroelectronics VL53L1X time-of-flight afstandssensor via I2C. De VL53L1X meet absolute afstand tot ~4 m met een 940 nm onzichtbare laseremitter en een SPAD-ontvangstarray.
Voorbeeldgebruik:
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)
Klassen¶
- class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)¶
Construeer een VL53L1X-driverinstantie.
busis een geconfigureerdmachine.I2Cbusobject dat wordt gebruikt om met de sensor te communiceren.addressis het 7-bits I2C-adres van het apparaat. Standaard0x29.
De constructor voert een soft reset uit, verifieert de model-ID van de chip, schrijft het standaardconfiguratieblok naar het apparaat en past de opstartregister-fixup toe die de ST-API uitvoert bij de eerste start van een meting. De aanroep blokkeert ~200 ms terwijl de sensor tot rust komt. Werpt
RuntimeErrorop als het model-ID-register niet de verwachte waarde0xEACCteruggeeft.- writeReg(reg: int, value: int) None¶
Schrijf een enkele 8-bits
valuenaar het 16-bits apparaatregisteradresreg.
- writeReg16Bit(reg: int, value: int) None¶
Schrijf een 16-bits
value(big-endian) naar het 16-bits apparaatregisteradresreg.
- readReg(reg: int) int¶
Lees een enkele 8-bits waarde van het 16-bits apparaatregisteradres
regen geef deze terug als eenint.
- readReg16Bit(reg: int) int¶
Lees een 16-bits waarde (big-endian) van het 16-bits apparaatregisteradres
regen geef deze terug als eenint.
- read_model_id() int¶
Geef de inhoud terug van het 16-bits model-ID-register op
0x010F. De verwachte waarde voor een VL53L1X is0xEACC.
Constanten¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
Standaard 91-byte configuratieblok dat tijdens de constructie naar het apparaat wordt geschreven, beginnend bij register
0x2D. Het blok stelt de interruptpolariteit, sigma-drempelwaarde, signaaldrempelwaarde, intermeetperiode, afstandsdrempelwaarden, ROI-centrum/-grootte en andere meetparameters in die door de ST ultra-light driver worden aanbevolen. De meeste bytes zijn niet door de gebruiker aanpasbaar; raadpleeg de opmerkingen in de broncode voor de door de gebruiker afstembare velden.