شحن مجاني للأوردرات فوق
1000 ج
رمضان كريم
High-Speed, High-Precision Time-of-Flight Distance Measurement
The VL53L0X is a state-of-the-art Time-of-Flight (ToF) laser-ranging sensor that provides accurate distance measurement up to 2 meters. Using an invisible 940nm laser, it offers millimeter precision with fast response times, making it ideal for applications requiring reliable proximity and distance sensing.
Key Features±3% accuracy with millimeter resolution
Measurement time as low as 30ms
Compact 4.9 × 2.5 × 1.56mm package
Simple connection with 2.6V-3.5V microcontrollers
| Measurement Range | 30mm – 2000mm (2m) |
|---|---|
| Accuracy | ±3% (typical) |
| Laser Wavelength | 940nm (invisible to human eye) |
| Interface | I2C (0x29 default address) |
| Supply Voltage | 2.6V – 3.5V (5V tolerant I/O) |
| Current Consumption | 19mA active, 5μA standby |
| Field of View | 25° (typical) |
| Measurement Time | 30ms (typical) |

| Pin | Label | Description | Arduino Connection |
|---|---|---|---|
| 1 | VCC | Power (2.6V-3.5V) | 3.3V |
| 2 | GND | Ground | GND |
| 3 | SCL | I2C Clock | A5 (Uno) or SCL |
| 4 | SDA | I2C Data | A4 (Uno) or SDA |
| 5 | GPIO1 | Interrupt output (optional) | Digital pin (optional) |
| 6 | XSHUT | Shutdown control (optional) | Digital pin (optional) |
// Basic I2C Connections: // VCC → 3.3V // GND → GND // SCL → A5 (Uno) or SCL // SDA → A4 (Uno) or SDA // Optional connections: // GPIO1 → Digital pin (for interrupt functionality) // XSHUT → Digital pin (for sensor reset) // Requires Pololu VL53L0X library
// VL53L0X Distance Sensor Basic Example
#include <Wire.h>
#include <VL53L0X.h>
VL53L0X sensor;
void setup() {
Serial.begin(9600);
Wire.begin();
sensor.init();
sensor.setTimeout(500);
// Start continuous back-to-back mode
sensor.startContinuous();
}
void loop() {
int distance = sensor.readRangeContinuousMillimeters();
if (sensor.timeoutOccurred()) {
Serial.println("Timeout");
} else {
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" mm");
}
delay(100);
}
// Set high speed measurement mode
sensor.setMeasurementTimingBudget(20000); // 20ms timing budget
sensor.startContinuous();
// Configure for longer range
sensor.setSignalRateLimit(0.1);
sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18);
sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14);
// Configure interrupt threshold
sensor.setInterMeasurementPeriod(100);
sensor.setInterruptThresholds(100, 200, false); // mm thresholds
// Connect GPIO1 pin to handle interrupts
// Use XSHUT to change I2C addresses
digitalWrite(XSHUT_PIN1, LOW);
digitalWrite(XSHUT_PIN2, LOW);
// Initialize sensors with different addresses
sensor1.setAddress(0x30);
sensor2.setAddress(0x31);
No account yet?
Create an Account
Recent Comments