Le VL53L0X est un capteur de distance compact et précis du temps de vol (TOF) capable de mesurer des distances jusqu'à 2 mètres avec une précision millimètre. Il utilise un laser pour mesurer le temps nécessaire pour que la lumière se déplace vers un objet et retour, ce qui le rend idéal pour la robotique, la détection de proximité et la détection d'obstacles. Dans ce tutoriel, nous vous guiderons à travers l'interfaçage du VL53L0X avec Arduino.
Ce dont vous aurez besoin
- Module de capteur de distance VL53L0X
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le capteur VL53L0X
Le VL53L0X communique à l'aide du protocole I2C, ce qui facilite la connexion à un Arduino. Il s'agit de fonctionnalités:
- Interface I2C: Utilise des lignes SDA et SCL.
- Capacités de partage: Mesure les distances de quelques millimètres à 2 mètres.
Pinout VL53L0X
Épingle | Fonction |
---|---|
Vin | Alimentation (3,3 V / 5V) |
GND | Sol |
SDA | Ligne de données I2C |
SCL | Ligne d'horloge i2c |
Xshut | Entrée d'arrêt (facultatif) |
Gpio1 | Interruption (facultatif) |
Étape 2: Câblage du VL53L0X à Arduino
Connectez le VL53L0X à votre Arduino comme suit:
Broche vl53l0x | Épingle arduino |
---|---|
Vin | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Note: Si vous utilisez une méga arduino ou une autre carte, consultez le Pinout I2C.
Étape 3: Installez la bibliothèque VL53L0X
La bibliothèque Adafruit VL53L0X simplifie l'interaction avec le capteur.
Étapes à installer:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "Adafruit VL53L0X" et cliquez Installer.
Étape 4: Téléchargez le code
Voici un exemple de croquis pour lire les mesures à distance du VL53L0X:
#include <Wire.h>
#include <Adafruit_VL53L0X.h>
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
while (!Serial) {
delay(1); // Wait for Serial Monitor to open
}
Serial.println("Adafruit VL53L0X Test");
if (!lox.begin()) {
Serial.println("Failed to find VL53L0X sensor! Check wiring.");
while (1);
}
Serial.println("VL53L0X sensor initialized.");
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false); // Perform a ranging test
if (measure.RangeStatus != 4) { // Check if valid
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range");
}
delay(100); // Wait before the next measurement
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code sur l'Arduino en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Pointez le capteur VL53L0X dans un objet. La distance en millimètres doit apparaître dans le moniteur en série.
Facultatif: en utilisant plusieurs capteurs VL53L0X
Pour utiliser plusieurs capteurs VL53L0X sur le même bus I2C, vous devez modifier leurs adresses I2C en utilisant le XSHUT
épingle:
- Tirer le
XSHUT
Pin d'un capteur bas pour le désactiver. - Initialisez le capteur actif et modifiez son adresse I2C.
- Répétez les capteurs supplémentaires.
Exemple de code pour modifier l'adresse I2C:
lox.setAddress(0x31); // Set a new I2C address (default is 0x29)
Applications du VL53L0X
- Détection d'obstacles pour les robots
- Capteurs de proximité pour les appareils intelligents
- Contrôle d'éclairage automatique
- Systèmes d'atterrissage de drones
Dépannage
- Aucune réponse du capteur: Vérifiez le câblage et assurez-vous que le capteur est alimenté.
- Lectures hors gamme: Assurez-vous que l'objet cible se situe dans la plage effective du capteur (jusqu'à 2 m).
-
Plusieurs capteurs interférant: Utiliser le
XSHUT
PIN pour attribuer des adresses I2C uniques.
Conclusion
Vous avez réussi à configurer le capteur de distance de temps de vol VL53L0X avec Arduino. Sa précision et sa taille compacte en font un outil polyvalent pour divers projets. Expérimentez avec différentes applications, telles que la robotique ou les systèmes de maison intelligente, pour tirer le meilleur parti de ce capteur puissant!