- تكلفه فاتورة الكهرباء
- حساب استهلاك الطاقة الكهربائية
- Parallel and Series Resistor Calculator
- LED Resistor Calculator
- UPS Battery Backup Calculator
- Voltage Divider Calculator
- Resistor Color Code Calculator
- Ohm’s Law Calculator
- Current Divider Calculator
- Number System Conversion Calculator
- Boost Converter Calculator
- MOSFET Threshold Voltage Calculator
- Apparent Power Calculator (kVA & VA)
- 555 Timer Calculator
- Buck Converter Calculator
- Capacitors in Series or Parallel Calculator
- Low Pass Filter Calculator
- RMS Voltage Calculator
- Universal Data Converter
- RMS Voltage Calculator
- Capacitor Code Converter
- Series Inductors Calculator
Ultimate VL53L0X Laser Distance Sensor Module – Black Version | High-Accuracy ToF Range Finder
Ultimate VL53L0X Laser Distance Sensor Module
High-Accuracy Time-of-Flight (ToF) Range Finder
The VL53L0X is a state-of-the-art Time-of-Flight (ToF) laser-ranging module that provides accurate distance measurement up to 2 meters. This compact sensor offers excellent performance regardless of target color and reflectance.
With its high precision and fast response time, the VL53L0X is ideal for applications requiring accurate distance measurements in compact spaces.
Key Features
High Accuracy
Measures distances with ±3% accuracy, providing reliable data for precise applications.
Fast Response
Measures distances in as little as 30ms, enabling real-time distance tracking.
Easy Integration
Simple I2C interface allows for easy connection to microcontrollers like Arduino.
Ambient Light Immunity
Designed to work in various lighting conditions, including bright sunlight.
Small Form Factor
Compact size (13.2mm × 20.4mm × 3.6mm) enables integration into space-constrained designs.
Low Power Consumption
Operates at low voltage (2.6V-3.5V) with minimal power requirements.
Technical Specifications
Specification | Value |
---|---|
Measurement Range | 30mm to 2000mm |
Accuracy | ±3% (typical) |
Operating Voltage | 2.6V to 3.5V (3.3V recommended) |
Current Consumption | 20mA active, 5μA standby |
Interface | I2C (400kHz fast mode) |
Field of View | 25 degrees |
Operating Temperature | -20°C to 70°C |
Dimensions | 13.2mm × 20.4mm × 3.6mm |
Laser Wavelength | 940nm (invisible to human eye) |
Measurement Time | 30ms (typical) |
Pin Configuration
Pin | Function | Description |
---|---|---|
VIN | Power Input | 2.6V to 3.5V DC (3.3V recommended) |
GND | Ground | Common ground |
SCL | I2C Clock | Serial clock input |
SDA | I2C Data | Serial data input/output |
GPIO1 | Interrupt | Programmable interrupt output |
XSHUT | Shutdown | Active low shutdown pin |
Arduino Code Example
Basic Distance Measurement
#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 (1ms interval)
sensor.startContinuous();
}
void loop() {
// Read distance measurement
int distance = sensor.readRangeContinuousMillimeters();
if (sensor.timeoutOccurred()) {
Serial.println("TIMEOUT");
} else {
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" mm");
}
delay(100);
}
Note: You'll need to install the VL53L0X library by Pololu through the Arduino IDE Library Manager before uploading this code.
Advanced Example with Multiple Sensors
#include <Wire.h>
#include <VL53L0X.h>
VL53L0X sensor1;
VL53L0X sensor2;
// Define shutdown pins for multiple sensors
#define SENSOR1_SHUTDOWN_PIN 5
#define SENSOR2_SHUTDOWN_PIN 6
void setup() {
Serial.begin(115200);
Wire.begin();
// Set shutdown pins as outputs
pinMode(SENSOR1_SHUTDOWN_PIN, OUTPUT);
pinMode(SENSOR2_SHUTDOWN_PIN, OUTPUT);
// Reset all sensors
digitalWrite(SENSOR1_SHUTDOWN_PIN, LOW);
digitalWrite(SENSOR2_SHUTDOWN_PIN, LOW);
delay(10);
// Initialize first sensor
digitalWrite(SENSOR1_SHUTDOWN_PIN, HIGH);
delay(10);
sensor1.init();
sensor1.setAddress(0x30);
sensor1.setTimeout(500);
// Initialize second sensor
digitalWrite(SENSOR2_SHUTDOWN_PIN, HIGH);
delay(10);
sensor2.init();
sensor2.setAddress(0x31);
sensor2.setTimeout(500);
// Start continuous measurements
sensor1.startContinuous();
sensor2.startContinuous();
}
void loop() {
Serial.print("Sensor 1: ");
Serial.print(sensor1.readRangeContinuousMillimeters());
Serial.print(" mm | Sensor 2: ");
Serial.print(sensor2.readRangeContinuousMillimeters());
Serial.println(" mm");
if (sensor1.timeoutOccurred() || sensor2.timeoutOccurred()) {
Serial.println("TIMEOUT");
}
delay(100);
}
Applications
Robotics
Obstacle detection and avoidance systems
Industrial Automation
Object presence detection and positioning
Consumer Electronics
Proximity sensing in smartphones and devices
Automotive
Parking assistance and collision avoidance
Drones
Altitude holding and landing assistance
Measurement
Non-contact distance measurement tools
Wiring Guide
Connect the VL53L0X sensor to your Arduino as follows:
VL53L0X Pin | Arduino Pin |
---|---|
VIN | 3.3V |
GND | GND |
SCL | A5 (or SCL) |
SDA | A4 (or SDA) |
Important: The VL53L0X operates at 3.3V and is not 5V tolerant. Always use 3.3V power and if connecting to a 5V Arduino, use level shifters for the I2C lines.