Лазерный датчик расстояния GY-53 на VL53L0X – миниатюрный модуль датчика расстояния (до 2 м). VL53L0X оснащен матрицей на основе высокочувствительных однофотонных лавинных диодов. Источником оптического сигнала служит поверхностно-излучающий лазер VCSEL с длиной волны 940 нм.
Модуль может подключаться через последовательный интерфейс I2C, TTL (RX/TX) и ШИМ. Напряжение питания – 3—5В.
Контактная группа модуля:
- VСС – «+» питания (3—5 В)
- GND – «земля», «-» питания
- SDA – передача данных по интерфейсу I2C
- SCL – тактирующий сигнал интерфейса I2C
- RX – линия приема данных
- TX – линия передачи данных
- PWM – передача данных по ШИМ
- XSHUT – линия сброса
- GPIO1 – может использоваться для индикации готовности
Пример
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 36 |
#include "Adafruit_VL53L0X.h" Adafruit_VL53L0X lox = Adafruit_VL53L0X(); void setup() { Serial.begin(115200); // wait until serial port opens for native USB devices while (! Serial) { delay(1); } Serial.println("Adafruit VL53L0X test"); if (!lox.begin()) { Serial.println(F("Failed to boot VL53L0X")); while(1); } // power Serial.println(F("VL53L0X API Simple Ranging examplenn")); } void loop() { VL53L0X_RangingMeasurementData_t measure; Serial.print("Reading a measurement... "); lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout! if (measure.RangeStatus != 4) { // phase failures have incorrect data Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter); } else { Serial.println(" out of range "); } delay(100); } |