vl53l1x — driver do sensor de distância ToF VL53L1X¶
Este módulo fornece um driver para o sensor de medição de distância por tempo de voo (ToF) STMicroelectronics VL53L1X via I2C. O VL53L1X mede distâncias absolutas até ~4 m utilizando um emissor laser invisível de 940 nm e um array de receção SPAD.
Exemplo de utilização:
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)
Classes¶
- class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)¶
Constrói uma instância do driver VL53L1X.
busé um objeto de barramentomachine.I2Cconfigurado, utilizado para comunicar com o sensor.addressé o endereço I2C de 7 bits do dispositivo. O valor predefinido é0x29.
O construtor efetua um reset por software, verifica o ID do modelo do chip, escreve o bloco de configuração predefinido no dispositivo e aplica a correção de registos de arranque que a API ST executa no primeiro início de medição. A chamada bloqueia durante ~200 ms enquanto o sensor estabiliza. Levanta
RuntimeErrorse o registo do ID do modelo não devolver o valor esperado0xEACC.- writeReg(reg: int, value: int) None¶
Escreve um
valuede 8 bits num único registo do dispositivo no endereço de registo de 16 bitsreg.
- writeReg16Bit(reg: int, value: int) None¶
Escreve um
valuede 16 bits (big-endian) no endereço de registo de 16 bitsreg.
- readReg(reg: int) int¶
Lê um valor de 8 bits do endereço de registo de 16 bits
rege devolve-o comoint.
- readReg16Bit(reg: int) int¶
Lê um valor de 16 bits (big-endian) do endereço de registo de 16 bits
rege devolve-o comoint.
- read_model_id() int¶
Devolve o conteúdo do registo de ID de modelo de 16 bits em
0x010F. O valor esperado para um VL53L1X é0xEACC.
Constantes¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
Bloco de configuração predefinido de 91 bytes escrito no dispositivo a partir do registo
0x2Ddurante a construção. O bloco define a polaridade de interrupção, o limiar sigma, o limiar de sinal, o período de intermeasurement, os limiares de distância, o centro/tamanho do ROI e outros parâmetros de medição recomendados pelo driver ultra-leve ST. A maioria dos bytes não é modificável pelo utilizador; consulte os comentários no código-fonte para os campos ajustáveis pelo utilizador.