Outils pour utilisateurs

Outils du site


start:arduino:vl53lxxv2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:arduino:vl53lxxv2 [2024/03/24 10:15] – [Caractéristiques VL53L1X, VL53LOX Arduino:] gerardadminstart:arduino:vl53lxxv2 [2024/03/25 11:04] (Version actuelle) – [code Robot Tourne] gerardadmin
Ligne 17: Ligne 17:
  
       * Alimentation: 3,3 ou 5 Vcc       * Alimentation: 3,3 ou 5 Vcc
-      Adresse I2C: 0x29 +      * Courant consommé : 20mA (typique) 
-      Champ de vision: 27° +      * Adresse I2C: 0x29 
-      Plage de mesure: 4 à 400 cm +      * Champ de vision: 27° 
-      Précision: ± 25 mm (± 20 dans l’obscurité)+      * Plage de mesure: 4 à 400 cm 
 +      * Plage de mesure absolue : 30 à 1000mm 
 +      * Plage de mesure du mode "par défaut" : 50 à 1200mm 
 +      * Mesure maximum en mode "long range" : 1.5 à 2 
 +      * Précision : 3 à 12% selon la réflectance de la surface 
 +      * Précision: ± 25 mm (± 20 dans l’obscurité) 
 +      * Température de fonctionnement : -20°C à +70°C 
 +      * Longueur d'onde du laser : 940nm / Classe 1, respecte la norme IEC 60825-1:2014 
 +      * Fréquence du bus I2C : 400 kHz, adresse 0x52 
 + 
 + 
 +  
 +     
 +     
 +     
 +    
  
 L’angle de vue par défaut du capteur est de 27°. Dans certains cas, la précision du capteur peut être affectée par des obstacles situés à la périphérie. L’angle de vue peut être réduit en contrôlant la zone ROI (ROI: region of interest). Le capteur consiste en une matrice de 16 X 16 éléments, et le contrôle de la zone ROI consiste à activer une partie des éléments. Le faisceau le plus étroit est obtenu en activant la partie de la matrice constituée de 4 X 4 éléments. L’angle de vue par défaut du capteur est de 27°. Dans certains cas, la précision du capteur peut être affectée par des obstacles situés à la périphérie. L’angle de vue peut être réduit en contrôlant la zone ROI (ROI: region of interest). Le capteur consiste en une matrice de 16 X 16 éléments, et le contrôle de la zone ROI consiste à activer une partie des éléments. Le faisceau le plus étroit est obtenu en activant la partie de la matrice constituée de 4 X 4 éléments.
 +
 +
 +====Comment brancher  le capteur de  distance VL53L1X avec l'Arduino/ESP32====
 +
 +^VL53LOX / VL53L1X^ Arduino Uno^ Arduino Nano^ Arduino Mega^ ESP32^
 +|GND |GND |GND |GND | GND |
 +|VDD |5V |5V |5V | 5V |
 +|SDA |A4 |A4 |20 | 21 |
 +|SCL |A5 |A5 |21 | 22 |
 +
 +Cet exemple affiche régulièrement la distance mesurée (en millimètres) dans le moniteur série de l’IDE Arduino. Le programme s’exécute en arrière-plan en utilisant les bibliothèques Wire et VL53L1X, le programme initial est donc très court. Connectez le capteur de distance laser au microcontrôleur Arduino Uno comme indiqué dans le schéma ci-dessus et chargez le code pour distance sensor VL53L0X / GY-53-L1X.
 +
 +{{ :start:arduino:vl53lox-arduino.jpg?direct&600 |}}
 +
 +====Programme Arduino/ESP32 pour distance sensor VL53L1X====
 +
 +==Bibliotheque Adafruit_VL53L0X==
 +
 +[[https://downloads.arduino.cc/libraries/github.com/adafruit/Adafruit_VL53L0X-1.2.4.zip?_gl=1*gd2ce8*_ga*MTg4OTgwNDYwMC4xNzExMzU5OTM0*_ga_NEXN8H46L5*MTcxMTM1OTkzMy4xLjAuMTcxMTM1OTk0MS4wLjAuMTczNzk1MDcwNQ..*_fplc*dDJtZSUyRmJYUnBEZGRuSlA3bG1kWUJENTNBbjNnSWJMY1RseDVRV3ptNWQwSG9xSnluZExaJTJGWGFKN2VzeTRwMUZyUVFUSDY5dEtjclY0NmhQZjd5TVdzRkFiSW45VnUyZ0thYm9nS0F1djlDMUQ3MWE3ZGV0aFF2U2d3TUVjZyUzRCUzRA..|Adafruit_VL53L0X-1.2.4.zip]]
 +
 +
 +
 +
 +<code c vl53lx002.ino>
 +#include "Adafruit_VL53L0X.h"
 +
 +Adafruit_VL53L0X lox = Adafruit_VL53L0X();
 +
 +void setup()
 +{
 +Serial.begin(115200);
 +
 +// wait until serial port opens for native USB devices
 +while (! Serial)
 +{
 +delay(1);
 +}
 +
 +Serial.println("Adafruit VL53L0X test");
 +if (!lox.begin())
 +{
 +Serial.println(F("Failed to boot VL53L0X"));
 +while(1);
 +}
 +// power
 +Serial.println(F("VL53L0X API Simple Ranging example\n\n"));
 +}
 +
 +void loop()
 +{
 +VL53L0X_RangingMeasurementData_t measure;
 +
 +Serial.print("Reading a measurement... ");
 +lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
 +
 +if (measure.RangeStatus != 4)
 +{ // phase failures have incorrect data
 +Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
 +}
 +else
 +{
 +Serial.println(" out of range ");
 +}
 +
 +delay(100);
 +}
 +</code>
 +
 +== code Robot Tourne ==
 +
 +<code c Robottourne.ino>
 +#include "Adafruit_VL53L0X.h"
 +
 +Adafruit_VL53L0X lox = Adafruit_VL53L0X();
 +int distanceR = 0;
 +void setup()
 +{
 +Serial.begin(115200);
 +
 +// wait until serial port opens for native USB devices
 +while (! Serial)
 +{
 +delay(1);
 +}
 +
 +Serial.println("Adafruit VL53L0X test");
 +if (!lox.begin())
 +{
 +Serial.println(F("Failed to boot VL53L0X"));
 +while(1);
 +}
 +// power
 +Serial.println(F("VL53L0X API Simple Ranging example\n\n"));
 +}
 +void deplacementRobot()// exemple pour test
 +//Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
 +
 +{
 +if ( distanceR >= 200)
 +{ Serial.println("robotavance...>= 200");}
 +if  ( distanceR <=40)
 +{ Serial.println(" robotTourneDroite...<=40 ");}
 +}
 +
 +
 +void loop()
 +{
 +VL53L0X_RangingMeasurementData_t measure;
 +
 +//Serial.print("Reading a measurement... ");
 +lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
 +
 +if (measure.RangeStatus != 4)
 +{ // phase failures have incorrect data
 +distanceR = measure.RangeMilliMeter;
 +//Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
 +deplacementRobot();
 +}
 +else
 +{
 +//Serial.println(" out of range ");
 +}
 +
 +delay(100);
 +}
 +</code>
 +
 +
 +
 +
/home/chanteri/www/fablab37110/data/attic/start/arduino/vl53lxxv2.1711271707.txt.gz · Dernière modification : 2024/03/24 10:15 de gerardadmin