vl53l1x — Drivrutin för VL53L1X ToF-avståndssensor¶
Denna modul tillhandahåller en drivrutin för STMicroelectronics avståndsmätningssensor VL53L1X med flygtidsmätning (time-of-flight) över I2C. VL53L1X mäter absolut avstånd upp till ~4 m med en osynlig laseremitter på 940 nm och en mottagande SPAD-array.
Exempelanvändning:
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)
Klasser¶
- class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)¶
Konstruerar en instans av VL53L1X-drivrutinen.
busär ett konfigureratmachine.I2C-bussobjekt som används för att kommunicera med sensorn.addressär enhetens 7-bitars I2C-adress. Standardvärdet är0x29.
Konstruktorn utför en mjuk återställning, verifierar chippets modell-ID, skriver standardkonfigurationsblocket till enheten och tillämpar den uppstartsregisterkorrigering som ST:s API utför vid den första avståndsmätningsstarten. Anropet blockerar i ~200 ms medan sensorn stabiliseras. Genererar
RuntimeErrorom modell-ID-registret inte returnerar det förväntade värdet0xEACC.- writeReg(reg: int, value: int) None¶
Skriver ett enstaka 8-bitars
valuetill den 16-bitars enhetsregisteradressenreg.
- writeReg16Bit(reg: int, value: int) None¶
Skriver ett 16-bitars
value(big-endian) till den 16-bitars enhetsregisteradressenreg.
- readReg(reg: int) int¶
Läser ett enstaka 8-bitars värde från den 16-bitars enhetsregisteradressen
regoch returnerar det som ettint.
- readReg16Bit(reg: int) int¶
Läser ett 16-bitars värde (big-endian) från den 16-bitars enhetsregisteradressen
regoch returnerar det som ettint.
- read_model_id() int¶
Returnerar innehållet i det 16-bitars modell-ID-registret på
0x010F. Det förväntade värdet för en VL53L1X är0xEACC.
Konstanter¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
Standardkonfigurationsblock på 91 byte som skrivs till enheten med början på register
0x2Dunder konstruktionen. Blocket sätter avbrottspolaritet, sigmatröskelvärde, signaltröskelvärde, intermätningsperiod, avståndströskelvärden, ROI-centrum/-storlek samt andra avståndsmätningsparametrar som rekommenderas av ST:s ultralätta drivrutin. De flesta byte är inte användarmodifierbara; se kommentarerna i källkoden för de användarjusterbara fälten.