vl53l1x — Driver do sensor de distância ToF VL53L1X¶
Este módulo fornece um driver para o sensor de medição por tempo de voo VL53L1X da STMicroelectronics via I2C. O VL53L1X mede a distância absoluta de até ~4 m usando um emissor laser invisível de 940 nm e um array receptor SPAD.
Exemplo de uso:
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, usado para se comunicar com o sensor.addressé o endereço I2C de 7 bits do dispositivo. O padrão é0x29.
O construtor realiza um soft reset, verifica o ID de modelo do chip, escreve o bloco de configuração padrão no dispositivo e aplica a correção de registradores de inicialização que a API da ST executa na primeira partida de medição. A chamada bloqueia por ~200 ms enquanto o sensor se estabiliza. Levanta
RuntimeErrorse o registrador de ID de modelo não retornar o valor esperado0xEACC.- writeReg(reg: int, value: int) None¶
Escreve um único
valuede 8 bits no endereço de registrador de 16 bits do dispositivoreg.
- writeReg16Bit(reg: int, value: int) None¶
Escreve um
valuede 16 bits (big-endian) no endereço de registrador de 16 bits do dispositivoreg.
- readReg(reg: int) int¶
Lê um único valor de 8 bits do endereço de registrador de 16 bits do dispositivo
rege o retorna como umint.
- readReg16Bit(reg: int) int¶
Lê um valor de 16 bits (big-endian) do endereço de registrador de 16 bits do dispositivo
rege o retorna como umint.
- read_model_id() int¶
Retorna o conteúdo do registrador 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 padrão de 91 bytes escrito no dispositivo a partir do registrador
0x2Ddurante a construção. O bloco define a polaridade da interrupção, o limiar sigma, o limiar de sinal, o período entre medições, os limiares de distância, o centro/tamanho da ROI e outros parâmetros de medição recomendados pelo driver ultra-light da ST. A maioria dos bytes não é modificável pelo usuário; consulte os comentários no código-fonte para os campos ajustáveis pelo usuário.