🔧 Capteur de Distance TOF VL53L1X – Module de Télémétrie Laser Haute Précision (4 mètres)
📌 Description du produit
Le capteur de distance VL53L1X est un module de télémétrie laser hautement précis, basé sur la technologie ToF (Time-of-Flight). Conçu pour des mesures rapides et stables jusqu’à 4 mètres, il utilise un laser infrarouge invisible de 940 nm (Class 1) et un récepteur SPAD avec lentille intégrée.
Contrairement aux capteurs IR classiques, ce télémètre infrarouge VL53L1X mesure la distance indépendamment de la couleur ou de la réflectivité de l’objet. Il s’intègre facilement via l’interface I2C (jusqu’à 400 kHz) et fonctionne sous 3.3V à 5V, ce qui le rend compatible avec la plupart des microcontrôleurs comme Arduino ou ESP32.
🔍 Idéal pour les projets de robotique, détection d’obstacles, drones, stations météo intelligentes, systèmes domotiques, et plus encore.
⚠️ Remarque importante : Le module VL53L1X partage la même carte PCB que le VL53L0X, mais ils utilisent des composants laser différents, ce qui impacte la portée et les performances du capteur.
🛡️ Filtre optique avec couvercle protecteur
Le VL53L1X est équipé d’un filtre optique intégré avec un couvercle de protection, qui remplit deux fonctions essentielles :
-
🧼 Protection contre la poussière : le filtre protège la lentille du capteur contre les particules fines et la saleté, garantissant un fonctionnement fiable sur le long terme, même en environnement poussiéreux.
-
🌞 Amélioration de la précision : grâce à son filtre optique infrarouge, il bloque la lumière du jour parasite et d’autres sources lumineuses perturbatrices. Cela permet d’obtenir des mesures de distance plus stables et plus précises, même en extérieur ou sous un éclairage difficile.
Ce composant rend le VL53L1X TOF sensor particulièrement adapté aux projets en conditions réelles, où la lumière ambiante ou la poussière peuvent affecter la performance des capteurs classiques.
⚡ Broches supplémentaires : GPIO1 et XSHUT
Le module VL53L1X ne se limite pas aux broches I2C classiques (SCL et SDA). Il dispose également de deux broches supplémentaires très utiles dans les projets avancés :
-
🔌 XSHUT (Shutdown) :
Cette broche permet d’activer ou de désactiver électriquement le capteur. Elle est souvent utilisée pour :-
Éteindre complètement le capteur pour économiser de l’énergie.
-
Gérer plusieurs capteurs VL53L1X sur un seul bus I2C (en les redémarrant un à un pour attribuer une adresse unique à chacun).
-
-
🔔 GPIO1 (Interrupt) :
Cette broche sert de sortie d’interruption programmable. Elle peut être configurée pour générer un signal lorsqu’une mesure est prête, ou lorsqu’une certaine condition est remplie (distance atteinte, dépassement de seuil, etc.).
Elle est particulièrement utile pour :-
Synchroniser le capteur avec un microcontrôleur.
-
Réduire la charge du processeur (évite de lire en boucle la valeur).
-
👉 Ces broches offrent plus de flexibilité dans la gestion du capteur, notamment dans des systèmes multi-capteurs ou à faible consommation.
⚙️ Caractéristiques Techniques Principales
-
📏 Plage de mesure : 4 cm à 400 cm (4 mètres)
-
⏱️ Fréquence de mesure : jusqu’à 50 Hz
-
📡 Technologie : Time-of-Flight (ToF)
-
💡 Laser IR : 940 nm (invisible, Class 1)
-
🎯 Angle de vision (FoV) : 27°, programmable
-
🔁 Tension d’alimentation : 3.3V à 5V
-
🔌 Communication : I2C (jusqu’à 400 kHz)
-
📐 Dimensions du module : 12 x 17 x 3.2 mm
-
📦 Compatibilité broches : VL53L0X
⚠️ Conseil avant utilisation
🧽 Avant la première utilisation, veuillez retirer délicatement la fine pellicule de protection transparente apposée sur la lentille du capteur.
Cette couche est présente pour éviter les rayures ou la poussière durant le transport, mais peut altérer les performances de mesure si elle n’est pas retirée.
📌 Un retrait propre garantit une mesure précise et un fonctionnement optimal du capteur VL53L1X TOF dès la première utilisation.
📲 Exemple de Code Arduino
Voici un exemple de code simple pour utiliser le VL53L1X distance sensor avec une carte Arduino :
🧩 Étapes préliminaires :
-
Installer la bibliothèque Adafruit VL53L1X :
-
Aller dans l’IDE Arduino > Outils > Gérer les bibliothèques…
-
Rechercher “VL53L1X” et installer Adafruit VL53L1X.
-
-
Raccordez les broches comme suit :
-
VIN → 5V
-
GND → GND
-
SCL → A5 (ou D1 sur ESP8266)
-
SDA → A4 (ou D2 sur ESP8266)
-
✅ Code Arduino :
#include "Adafruit_VL53L1X.h"
#define IRQ_PIN 2
#define XSHUT_PIN 3
Adafruit_VL53L1X vl53 = Adafruit_VL53L1X(XSHUT_PIN, IRQ_PIN);
void setup() {
Serial.begin(115200);
while (!Serial) delay(10);
Serial.println(F("Adafruit VL53L1X sensor demo"));
Wire.begin();
if (! vl53.begin(0x29, &Wire)) {
Serial.print(F("Error on init of VL sensor: "));
Serial.println(vl53.vl_status);
while (1) delay(10);
}
Serial.println(F("VL53L1X sensor OK!"));
Serial.print(F("Sensor ID: 0x"));
Serial.println(vl53.sensorID(), HEX);
if (! vl53.startRanging()) {
Serial.print(F("Couldn't start ranging: "));
Serial.println(vl53.vl_status);
while (1) delay(10);
}
Serial.println(F("Ranging started"));
// Valid timing budgets: 15, 20, 33, 50, 100, 200 and 500ms!
vl53.setTimingBudget(500);
Serial.print(F("Timing budget (ms): "));
Serial.println(vl53.getTimingBudget());
/*
vl.VL53L1X_SetDistanceThreshold(100, 300, 3, 1);
vl.VL53L1X_SetInterruptPolarity(0);
*/
}
void loop() {
int16_t distance;
if (vl53.dataReady()) {
// new measurement for the taking!
distance = vl53.distance();
if (distance == -1) {
// something went wrong!
Serial.print(F("Couldn't get distance: "));
Serial.println(vl53.vl_status);
return;
}
Serial.print(F("Distance: "));
Serial.print(distance);
Serial.println(" mm");
// data is read out, time for another reading!
vl53.clearInterrupt();
}
}
⚙️ Réglage du Timing Budget (Budget de temps)
Le capteur VL53L1X permet de régler le timing budget, c’est-à-dire le temps dédié à chaque mesure de distance. Ce paramètre influence directement la précision et la rapidité des mesures :
-
Un timing budget court (ex. 15 ms) offre une vitesse élevée mais avec une précision légèrement réduite.
-
Un timing budget plus long (jusqu’à 500 ms) permet d’obtenir des mesures plus précises et stables, mais le temps entre deux relevés augmente.
Voici quelques valeurs valides pour le timing budget : 15, 20, 33, 50, 100, 200, et 500 ms.
Vous pouvez ajuster ce paramètre via la fonction setTimingBudget() dans votre code Arduino selon les exigences de votre projet.
💡 Astuce : pour des applications nécessitant une détection rapide (ex : robotique en temps réel), privilégiez un timing budget court. Pour des mesures de haute précision, augmentez ce temps.
📦 Contenu de l’emballage
-
1x 📟 Module de télémétrie laser VL53L1X – livré prêt à l’emploi avec les broches (headers) déjà soudées pour une intégration rapide
-
1x 🛡️ Filtre optique avec couvercle protecteur – protège le capteur contre la poussière et améliore la précision des mesures en filtrant les lumières parasites
💬 Pourquoi choisir ce capteur ?
-
✅ Précision élevée grâce à la technologie ToF même en lumière ambiante
-
✅ Support multizone avec ROI programmable pour des applications avancées
-
✅ Compact et léger, parfait pour les systèmes embarqués
-
✅ Compatible Arduino / Raspberry Pi / ESP32
-
✅ Disponible au Maroc avec livraison rapide








jadzarkani (client confirmé) –
il a fonctionné bien pour mon expérience
jadzarkani –
rdchamkar –
precise as expected
rdchamkar –