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

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

Ce tutoriel montre comment utiliser le télémètre laser CJMCU VL53L0X avec un Arduino. Ce module, équipé d'un capteur Time-of-Flight VL53L0X de Texas Instruments et d'un convertisseur de niveau bidirectionnel TXS0108E (dans la vidéo à 00:06), offre une mesure de distance précise jusqu'à 2 mètres (dans la vidéo à 00:52). Sa compatibilité avec différents niveaux logiques (3.3V, 1.8V, 5V) facilite l'intégration avec divers microcontrôleurs (dans la vidéo à 00:21). Ce projet ouvre un large éventail de possibilités.

Idées de projets :

  • Robotique : implémenter l'évitement d'obstacles chez les robots.
  • Automatisation : Contrôler des machines en fonction de la proximité.
  • Maison intelligente : Créer un éclairage automatique en fonction de la distance.
  • Sécurité : développer un système d'alarme basé sur la proximité.

Matériel/Composants

Pour construire ce projet, vous aurez besoin des composants suivants :

  • Carte Arduino (n'importe quel modèle fera l'affaire)
  • Module de télémètre laser CJMCU VL53L0X
  • Fils de connexion

Guide de câblage

Le module VL53L0X se connecte à l'Arduino comme suit :

Connectez la broche VCC du module à la broche 5V de l'Arduino. Le régulateur interne du module fournit les 3.3V requis pour le capteur. (dans la vidéo à 01:50)

Connectez la broche GND du module à la broche GND de l'Arduino.

Connectez la broche SDA du module à la broche A4 de l'Arduino.

Connectez la broche SCL du module à la broche A5 de l'Arduino.

Laissez la broche XSHUT non connectée, sauf si vous devez l'utiliser pour la commande d'arrêt. (dans la vidéo à 03:50)

Explication du code

Le code fourni utilise la bibliothèque VL53L0X. Voici une explication des principales parties configurables :


#include <Wire.h>
#include <VL53L0X.h>

VL53L0X sensor;

void setup()
{
  Serial.begin(9600);
  // ... other setup code ...
  sensor.setTimeout(500); // Set timeout to 500ms (in video at 06:40)
  sensor.startContinuous(); // Start continuous measurement mode (in video at 06:50)
}

void loop()
{
  Serial.print(sensor.readRangeContinuousMillimeters()); // Read distance in mm (in video at 07:01)
  // ... other loop code ...
}

Lesensor.setTimeout(500)La ligne définit le délai d'attente pour les mesures de distance à 500 millisecondes. Ajustez cette valeur si nécessaire pour votre application (dans la vidéo à 06:40). Lesensor.startContinuous()La fonction lance une mesure continue de distance, fournissant des relevés aussi rapidement que possible (dans la vidéo à 06:50). Lesensor.readRangeContinuousMillimeters()la fonction renvoie la distance mesurée en millimètres (dans la vidéo à 07:01).

Projet en direct/Démonstration

La vidéo montre le fonctionnement du capteur, illustrant comment les mesures de distance évoluent lorsque la distance du capteur à la cible change. Les mesures sont précises à quelques millimètres près, surtout à des distances supérieures à 10mm (dans la vidéo à 08:20). À très courte distance (moins de 10mm), la précision diminue (dans la vidéo à 09:50). La démonstration montre également que les surfaces réfléchissantes peuvent affecter les mesures, notamment si le laser n'est pas perpendiculaire à la surface (dans la vidéo à 10:32).

Chapitres

  • [00:00] Introduction et aperçu du projet
  • [00:48] Détails du capteur VL53L0X
  • [01:41] Présentation et spécifications du module
  • [02:55] Applications et normes
  • [03:35] Brochage et connexions
  • [05:29] Explication du code
  • [07:45] Câblage et connexions
  • [08:18] Démonstration en direct
136-Source code for the VL523L0X distance measurement module for Arduino
Langue: C++
Copié !

Ressources et références

Fichiers📁

Aucun fichier disponible.