vl53l1x — VL53L1X ToF mesafe sensörü sürücüsü¶
Bu modül, STMicroelectronics VL53L1X uçuş süresi (time-of-flight) mesafe ölçüm sensörü için I2C üzerinden bir sürücü sağlar. VL53L1X, 940 nm görünmez lazer yayıcı ve bir SPAD alıcı dizisi kullanarak ~4 m’ye kadar mutlak mesafe ölçer.
Örnek kullanım:
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)
Sınıflar¶
- class vl53l1x.VL53L1X(bus: machine.I2C, address: int = 0x29)¶
Bir VL53L1X sürücü örneği oluşturur.
bus, sensörle iletişim kurmak için kullanılan, yapılandırılmış birmachine.I2Cveri yolu nesnesidir.address, aygıtın 7 bitlik I2C adresidir. Varsayılan olarak0x29.
Yapıcı, yazılımsal bir sıfırlama gerçekleştirir, çip model kimliğini doğrular, varsayılan yapılandırma bloğunu aygıta yazar ve ST API’sinin ilk mesafe ölçüm başlatmasında uyguladığı başlangıç yazmaç düzeltmesini uygular. Çağrı, sensör yerleşirken ~200 ms boyunca bloklanır. Model kimliği yazmacı beklenen
0xEACCdeğerini döndürmezseRuntimeErrorortaya çıkarır.- writeReg(reg: int, value: int) None¶
16 bitlik aygıt yazmaç adresi
regkonumuna tek bir 8 bitlikvalueyazar.
- writeReg16Bit(reg: int, value: int) None¶
16 bitlik aygıt yazmaç adresi
regkonumuna 16 bitlik birvalue(büyük uçlu) yazar.
- readReg(reg: int) int¶
16 bitlik aygıt yazmaç adresi
regkonumundan tek bir 8 bitlik değer okur ve birintolarak döndürür.
- readReg16Bit(reg: int) int¶
16 bitlik aygıt yazmaç adresi
regkonumundan 16 bitlik bir değer (büyük uçlu) okur ve birintolarak döndürür.
- read_model_id() int¶
0x010Fkonumundaki 16 bitlik model kimliği yazmacının içeriğini döndürür. Bir VL53L1X için beklenen değer0xEACCdeğeridir.
Sabitler¶
- vl53l1x.VL51L1X_DEFAULT_CONFIGURATION: bytes¶
Yapım sırasında
0x2Dyazmacından başlayarak aygıta yazılan, varsayılan 91 baytlık yapılandırma bloğu. Blok; kesme polaritesini, sigma eşiğini, sinyal eşiğini, ölçümler arası periyodu, mesafe eşiklerini, ROI merkezini/boyutunu ve ST ultra hafif sürücünün önerdiği diğer mesafe ölçüm parametrelerini ayarlar. Çoğu bayt kullanıcı tarafından değiştirilemez; kullanıcı tarafından ayarlanabilen alanlar için kaynak içi açıklamalara bakın.