start:arduino:vl53lxxv2
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
start:arduino:vl53lxxv2 [2024/03/24 10:19] – gerardadmin | start:arduino:vl53lxxv2 [2024/03/25 11:04] (Version actuelle) – [code Robot Tourne] gerardadmin | ||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
* Alimentation: | * Alimentation: | ||
- | | + | * Courant consommé : 20mA (typique) |
- | * | + | |
- | * | + | * Champ de vision: 27° |
- | * | + | * Plage de mesure: 4 à 400 cm |
+ | * Plage de mesure absolue : 30 à 1000mm | ||
+ | * Plage de mesure du mode "par défaut" | ||
+ | * Mesure maximum en mode "long range" : 1.5 à 2 | ||
+ | * Précision : 3 à 12% selon la réflectance de la surface | ||
+ | | ||
+ | * Température de fonctionnement : -20°C à +70°C | ||
+ | * Longueur d'onde du laser : 940nm / Classe 1, respecte la norme IEC 60825-1: | ||
+ | * 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 distance | + | ====Comment brancher |
- | ^VL53LOX / VL53L1X^ Arduino Uno^ Arduino Nano^ Arduino Mega^ | + | ^VL53LOX / VL53L1X^ Arduino Uno^ Arduino Nano^ Arduino Mega^ ESP32^ |
- | |GND |GND |GND |GND | | + | |GND |GND |GND |GND | GND | |
- | |VDD |5V |5V |5V | | + | |VDD |5V |5V |5V | 5V | |
- | |SDA |A4 |A4 |20 | | + | |SDA |A4 |A4 |20 |
- | |SCL |A5 |A5 |21 | | + | |SCL |A5 |A5 |21 |
- | le premier | + | 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. |
{{ : | {{ : | ||
+ | |||
+ | ====Programme Arduino/ | ||
+ | |||
+ | ==Bibliotheque Adafruit_VL53L0X== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <code c vl53lx002.ino> | ||
+ | #include " | ||
+ | |||
+ | 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(" | ||
+ | if (!lox.begin()) | ||
+ | { | ||
+ | Serial.println(F(" | ||
+ | while(1); | ||
+ | } | ||
+ | // power | ||
+ | Serial.println(F(" | ||
+ | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | VL53L0X_RangingMeasurementData_t measure; | ||
+ | |||
+ | Serial.print(" | ||
+ | lox.rangingTest(& | ||
+ | |||
+ | if (measure.RangeStatus != 4) | ||
+ | { // phase failures have incorrect data | ||
+ | Serial.print(" | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | Serial.println(" | ||
+ | } | ||
+ | |||
+ | delay(100); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | == code Robot Tourne == | ||
+ | |||
+ | <code c Robottourne.ino> | ||
+ | #include " | ||
+ | |||
+ | 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(" | ||
+ | if (!lox.begin()) | ||
+ | { | ||
+ | Serial.println(F(" | ||
+ | while(1); | ||
+ | } | ||
+ | // power | ||
+ | Serial.println(F(" | ||
+ | } | ||
+ | void deplacementRobot()// | ||
+ | // | ||
+ | |||
+ | { | ||
+ | if ( distanceR >= 200) | ||
+ | { Serial.println(" | ||
+ | if ( distanceR <=40) | ||
+ | { Serial.println(" | ||
+ | } | ||
+ | |||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | VL53L0X_RangingMeasurementData_t measure; | ||
+ | |||
+ | // | ||
+ | lox.rangingTest(& | ||
+ | |||
+ | if (measure.RangeStatus != 4) | ||
+ | { // phase failures have incorrect data | ||
+ | distanceR = measure.RangeMilliMeter; | ||
+ | // | ||
+ | deplacementRobot(); | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | // | ||
+ | } | ||
+ | |||
+ | delay(100); | ||
+ | } | ||
+ | </ | ||
+ | |||
/home/chanteri/www/fablab37110/data/pages/start/arduino/vl53lxxv2.txt · Dernière modification : 2024/03/25 11:04 de gerardadmin