VL53L1X
Модуль для работы с лазерным датчиком расстояния VL53L1X (Time-of-Flight).
vl53l1x.init(i2c, scl, sda [, range [, freq]])
Инициализация датчика VL53L1X.
Аргументы:
- i2c: номер I2C порта (0 или 1)
- scl: номер GPIO пина SCL
- sda: номер GPIO пина SDA
- range (опционально): режим измерения дальности. По умолчанию vl53l1x.LONG
- vl53l1x.SHORT - до 136 см в темноте
- vl53l1x.MEDIUM - до 290 см в темноте
- vl53l1x.LONG - до 360 см в темноте
- freq (опционально): частота I2C шины в Гц. По умолчанию 400000
Возвращает: код ошибки (0 - успех)
-- Инициализация датчика на I2C0, SCL=GPIO22, SDA=GPIO21
res = vl53l1x.init(0, 22, 21)
if res == 0 then
print("VL53L1X initialized")
else
print("VL53L1X init error: " .. res)
end
-- Инициализация с коротким режимом измерения
res = vl53l1x.init(0, 22, 21, vl53l1x.SHORT)
vl53l1x.get([qty])
Получить расстояние до объекта.
Аргументы:
- qty (опционально): количество измерений для усреднения. По умолчанию 1
Возвращает: расстояние в сантиметрах (число с плавающей точкой) или -1 при ошибке.
-- Получить одно измерение
dist = vl53l1x.get()
print("Distance: " .. dist .. " cm")
-- Получить усредненное значение за 5 измерений
dist = vl53l1x.get(5)
print("Average distance: " .. dist .. " cm")
Константы
| Константа | Описание |
|---|---|
| vl53l1x.SHORT | Короткий режим: до 136 см в темноте |
| vl53l1x.MEDIUM | Средний режим: до 290 см в темноте |
| vl53l1x.LONG | Дальний режим: до 360 см в темноте |
Пример использования
-- Инициализация датчика
res = vl53l1x.init(0, 22, 21, vl53l1x.LONG)
if res ~= 0 then
print("Init error")
return
end
-- Цикл измерений
while true do
dist = vl53l1x.get()
if dist >= 0 then
print(string.format("Distance: %.1f cm", dist))
else
print("Measurement error")
end
tmr.delay(1000)
end