VL53L0X je pokročilý senzor vzdálenosti typu Time-of-Flight, který nabízí přesná laserová měření v rozsahu od 30 mm do 2 000 mm. Vyznačuje se nízkou spotřebou energie, kompaktními rozměry a rychlou dobou odezvy, díky čemuž je ideální pro integraci do různých aplikací IoT a robotiky. Komunikační protokol I2C zjednodušuje jeho použití s mikrokontroléry a SBC jako Arduino a Raspberry Pi.
O snímači VL53L0X
Klíčové vlastnosti
- Rozšířený rozsah měření – přesně detekuje vzdálenosti až do 2 metrů .
- Laserová technologie Time-of-Flight Technology – Zajišťuje rychlé a přesné měření .
- Komunikace I²C – Bezproblémová integrace s ESP32 , Arduino a dalšími mikrokontroléry .
- Nízká spotřeba a kompaktní design – Ideální pro přenosné a bateriově napájené aplikace .
Díky pokročilým schopnostem snímání a efektivnímu výkonu je VL53L0X vynikající volbou pro vestavěné systémy vyžadující přesné měření vzdálenosti.
Technické specifikace snímače VL53L0X
Níže si můžete prohlédnout technické specifikace snímače doby letu VL53L0X. Senzor je kompatibilní s ESP32 a pracuje v rozsahu napětí vhodném pro mikrokontroléry. Přesné podrobnosti o jeho funkcích, specifikacích a použití naleznete v datovém listu senzoru.
- Typ : vzdálenost
- Protokol : I2C
- Rozsah měření : 30 mm až 2000 mm
- Přesnost : ±3% za ideálních podmínekRozhraní : I2C
- Provozní napětí : 2,6V až 5,5V (typické 3,3V nebo 5V)
- Spotřeba energie : <20mA během provozu
Zapojení s ESP32 od LaskaKit
Programový kód
Platformio.ini
[env:esp32-s3-devkitc-1]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
build_type = debug
lib_deps =
adafruit/Adafruit_VL53L0X@^1.2.4
main.cpp
#include <Wire.h>
#include "Adafruit_VL53L0X.h"
#define SDA_PIN 42
#define SCL_PIN 2
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(115200);
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
pinMode(47, OUTPUT);
digitalWrite(47, HIGH);
delay(1000);
Wire.begin(SDA_PIN, SCL_PIN);
// 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 Continuous Ranging example\n\n"));
// start continuous ranging
lox.startRangeContinuous();
}
void loop() {
if (lox.isRangeComplete()) {
Serial.print("Distance in mm: ");
Serial.println(lox.readRange());
}
}