Bonjour,
J'essaye désespérément depuis plusieurs jours de faire fonctionner capteur de distance laser VL53L0X mais je n'obtiens aucun résultats car le code m'indique "Failed to boot VL53L0X"
J'utilise une Arduino méga et mon capteur VL53L0X est branché comme suit:
VIN --> 5V
GND --> GND
SDA --> 20 ( SDA sur Arduino Méga )
SCL --> 21 ( SCL sur Arduino Méga )
Il ne me semble pas néccesaire de brancher les broches GPIO1 et XSHUT et même quand je les branche cela ne ne change rien
Et j'utilise le code suivant :
#include "Adafruit_VL53L0X.h"
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
while (! Serial) {
delay(1);
}
Serial.println("VL53L0X sensor test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while (1);
}
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
Serial.print("Reading measurement - ");
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range!");
}
delay(1000);
}
Le problème semble venir du fait que le capteur n'est pas détecté en effet lorsque que j'effectue un scan I2C avec le code ci-dessous, j'obtiens "Aucun appareil I2C trouvé"
Je pense que le problème ne vient pas du bus I2C de la carte puisque j'ai essayé avec un autre capteur fonctionnant avec le bus I2C et cette fois ci j'obtenais une adresse I2C.
Le problème ne semble pas venir non plus d'un disfonctionnement matériel en effet j'ai changé de carte arduino ( une autre arduino méga ), j'ai changé de capteur ( toujours le même modèle mais un autre capteur ) et j'ai changé les câbles et cela ne fonctionne toujours pas !
#include <Wire.h>
void setup() {
Serial.begin(9600);
while (!Serial); // Attendre que le port série soit prêt
Serial.println("\nRecherche des adresses I2C...");
Wire.begin();
byte error, address;
int nDevices = 0;
for (address = 1; address < 127; address++) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("Appareil trouvé à l'adresse 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
nDevices++;
} else if (error == 4) {
Serial.print("Erreur inconnue à l'adresse 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
}
}
if (nDevices == 0)
Serial.println("Aucun appareil I2C trouvé\n");
else
Serial.println("Recherche terminée\n");
}
void loop() {
// Le code de scan ne s'exécute qu'une seule fois
}
Il me semble avoir tout essayé et je désespère un petit peu à faire fonctionner ce capteur ![]()
Pouvez vous m'aider ?
Merci d'avance pour vos réponses !

