vl53l1x — sterownik czujnika odległości ToF VL53L1X¶
Ten moduł udostępnia sterownik dla czujnika dalmierza time-of-flight VL53L1X firmy STMicroelectronics przez I2C. VL53L1X mierzy odległość bezwzględną do ~4 m, wykorzystując niewidzialny emiter laserowy 940 nm oraz matrycę odbiorczą SPAD.
Przykład użycia:
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)
Klasy¶
- class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)¶
Tworzy instancję sterownika VL53L1X.
busto skonfigurowany obiekt magistralimachine.I2Cużywany do komunikacji z czujnikiem.addressto 7-bitowy adres I2C urządzenia. Domyślnie0x29.
Konstruktor wykonuje miękki reset, weryfikuje identyfikator modelu układu, zapisuje do urządzenia domyślny blok konfiguracyjny i stosuje poprawkę rejestrów startowych, którą ST API wykonuje przy pierwszym uruchomieniu pomiaru. Wywołanie blokuje na ~200 ms, podczas gdy czujnik się ustala. Zgłasza
RuntimeError, jeśli rejestr identyfikatora modelu nie zwraca oczekiwanej wartości0xEACC.- writeReg(reg: int, value: int) None¶
Zapisuje pojedynczą 8-bitową wartość
valuedo 16-bitowego adresu rejestru urządzeniareg.
- writeReg16Bit(reg: int, value: int) None¶
Zapisuje 16-bitową wartość
value(big-endian) do 16-bitowego adresu rejestru urządzeniareg.
- readReg(reg: int) int¶
Odczytuje pojedynczą 8-bitową wartość z 16-bitowego adresu rejestru urządzenia
regi zwraca ją jakoint.
- readReg16Bit(reg: int) int¶
Odczytuje 16-bitową wartość (big-endian) z 16-bitowego adresu rejestru urządzenia
regi zwraca ją jakoint.
- read_model_id() int¶
Zwraca zawartość 16-bitowego rejestru identyfikatora modelu pod adresem
0x010F. Oczekiwana wartość dla VL53L1X to0xEACC.
Stałe¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
Domyślny 91-bajtowy blok konfiguracyjny zapisywany do urządzenia, począwszy od rejestru
0x2Dpodczas tworzenia instancji. Blok ustawia polaryzację przerwania, próg sigma, próg sygnału, okres międzypomiarowy, progi odległości, środek/rozmiar ROI oraz inne parametry pomiaru zalecane przez sterownik ultra-light firmy ST. Większość bajtów nie podlega modyfikacji przez użytkownika; pola dostrajalne przez użytkownika opisano w komentarzach w kodzie źródłowym.