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
Ressources et références
-
ExterneFiche technique TXS0108Eti.com
-
ExterneTéléchargement Pololu (GitHub)github.com
Fichiers📁
Aucun fichier disponible.