Датчик поддерживает режим высокой скорости измерения при котором погрешность составляет ±5%, а также режим высокой точности измерений, где погрешность составляет ±3%. В режиме высокой скорости, для измерения дальности требуется всего 20 мс. В режиме высокой точности измерение расстояния длится около 200 мс.
Для использования датчика с микроконтроллерами Arduino и ESP используется библиотека от Adafruit. Подключение к микроконтроллеру осуществляется посредством интерфейса I2C. Питание модуля от 2.6 до 5.5 В. В проектах с использованием прерываний можно использовать программируемый выход GPIO1.
Контактная группа модуля:
- VCC – «+» питания (2.6 – 5.5 В)
- GND – «-» питания, «земля»
- SDA – линия данных (Serial DAta)
- SCL – линия тактирования (Serial CLock)
- GPIO1 – программируемый выход прерывания (логический уровень питания)
- XSHUT – вывод является активным-низким входом отключения, модуль подтягивает его до VDD, чтобы включить датчик по умолчанию. Низкий уровень этого вывода переводит датчик в аппаратный режим ожидания. Этот вход не смещен по уровню.
Схема
Пример подключения
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
// подключаем библиотеку #include "Adafruit_VL53L0X.h" Adafruit_VL53L0X lox = Adafruit_VL53L0X(); // запускаем последовательную связь со скоростью 115200 бод void setup() { Serial.begin(115200); while (! Serial) { delay(1); } // проверяем инициализацию модуля VL53L0X Serial.println("Adafruit VL53L0X test"); if (!lox.begin()) { Serial.println(F("Failed to boot VL53L0X")); while(1); } Serial.println(F("VL53L0X API Simple Ranging examplenn")); } // считывание показаний void loop() { VL53L0X_RangingMeasurementData_t measure; Serial.print("Reading a measurement... "); lox.rangingTest(&measure, false); if (measure.RangeStatus != 4) { Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter); } else { Serial.println(" out of range "); } delay(100); } |
Скачать библиотеку Adafruit_VL53L0X (ZIP)
Скачать документацию VL53L0X (PDF)