Utilisation d’un télémètre laser VL53L0X avec Arduino

Utilisation d’un télémètre laser VL53L0X avec Arduino

Dans ce tutoriel, nous allons explorer comment utiliser le télémètre laser VL53L0X avec un Arduino. Cet appareil vous permet de mesurer les distances avec précision à l’aide d’un laser, ce qui le rend idéal pour diverses applications telles que la robotique et l’automatisation. À la fin de ce tutoriel, vous disposerez d’une configuration fonctionnelle capable de mesurer les distances et de les afficher sur le moniteur série.

VL53L0X 200cm range sensor-blue

Pour notre projet, nous utiliserons la bibliothèque de VL53L0X Adafruit, qui simplifie le processus d’interfaçage avec le capteur. Cette bibliothèque fournit les fonctions nécessaires pour initialiser le capteur, lire les mesures et gérer les erreurs qui peuvent survenir. Vous pouvez vous référer à la vidéo pour un guide visuel sur la configuration (en vidéo à 02:15).

Le matériel expliqué

Les principaux composants de ce projet comprennent le télémètre laser VL53L0X et la carte Arduino. Le VL53L0X est un capteur de temps de vol qui utilise un laser pour mesurer des distances allant jusqu’à 2 mètres avec une grande précision. Il fonctionne via le protocole I2C, permettant une communication facile avec l’Arduino.

La carte Arduino sert de microcontrôleur qui traite les données de la VL53L0X. Il envoie des commandes au capteur et reçoit les mesures de distance, qui peuvent ensuite être affichées ou utilisées dans d’autres applications. Un câblage correct est crucial pour garantir des lectures précises du capteur.

Détails de la fiche technique

FabricantSTMicroelectronics
Numéro de pièceVL53L0X
Tension de fonctionnement2,6 V à 3,5 V
Gamme30 mm à 2000 mm
Exactitude±3 % typique
InterfaceI2C
Plage de température-40 °C à +85 °C
Consommation de courant<1 mA (veille), 20 mA (actif)
ColisVFLGA-8

  • Assurez-vous que le capteur est correctement alimenté (2,6 V à 3,5 V).
  • Maintenez les paramètres d’adresse I2C corrects pour éviter les conflits.
  • Gardez le capteur propre pour des mesures de distance précises.
  • Utilisez des résistances de traction appropriées sur les lignes I2C si nécessaire.
  • Évitez la lumière directe du soleil sur le capteur pour des lectures fiables.

Instructions de câblage

Arduino Wiring for VL53L0X
Arduino Wiring for VL53L0X

Pour câbler le capteur VL53L0X à l’Arduino, connectez la broche VCC du capteur à la broche 5V de l’Arduino. La broche GND doit être connectée à la terre (GND) de l’Arduino. Pour la communication I2C, connectez la broche SDA de l’VL53L0X à la broche A4 de l’Arduino, et connectez la broche SCL à la broche A5. Si vous utilisez un autre modèle Arduino, reportez-vous aux affectations de broches SDA et SCL spécifiques à cette carte.

Par exemple, sur l’Arduino Mega, vous connecteriez SDA à la broche 20 et SCL à la broche 21. Assurez-vous que toutes les connexions sont sécurisées pour éviter les problèmes de communication. Si le capteur ne répond pas, vérifiez le câblage et assurez-vous que l’Arduino est correctement alimenté.

Exemples de code et procédure pas à pas

Vous trouverez ci-dessous un extrait de la fonction de configuration qui initialise le capteur de VL53L0X :

void setup() {
  Serial.begin(9600);
  while (! Serial) {
    delay(1);
  }
  Serial.println("Robojax Test");
  if (!lox.begin()) {
    Serial.println(F("Failed to boot VL53L0X"));
    while(1);
  }
}

Ce code initialise la communication série et tente de démarrer le capteur VL53L0X. Si le capteur ne démarre pas, il imprimera un message d’erreur et arrêtera le programme.

Ensuite, voici un extrait de la fonction de boucle qui lit la mesure de distance :

void loop() {
  VL53L0X_RangingMeasurementData_t measure;
  lox.rangingTest(&measure, false);
  if (measure.RangeStatus != 4) {
    Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
  } else {
    Serial.println(" out of range ");
  }
  delay(100);
}

Ce bloc lit en permanence la mesure de distance du capteur et l’imprime sur le moniteur série. Si la mesure est hors plage, il l’indique en conséquence.

Démonstration / À quoi s’attendre

Lorsque vous exécutez le programme, vous devriez voir les mesures de distance affichées sur le moniteur série. Les lectures doivent être mises à jour toutes les 100 millisecondes. Si le capteur pointe vers un objet, il affichera la distance en millimètres. Si l’objet est hors de portée, il l’indiquera également. Assurez-vous de tester le capteur dans sa plage spécifiée pour des résultats optimaux (en vidéo à 10:00).

Horodatages vidéo

  • 00:00-Introduction
  • 02:15- Configuration du câblage
  • 05:30- Explication du code
  • 10:00-Manifestation

Images

VL53L0X 200cm range sensor-blue
VL53L0X 200cm range sensor-blue
Arduino Wiring for VL53L0X
Arduino Wiring for VL53L0X
15-Using a VL53L0X laser distance meter in Arduino
Langue: C++
Copié !

Ressources et références

Fichiers📁

Aucun fichier disponible.