Go Down

Topic: Failed to boot VL53L0X (Read 46 times) previous topic - next topic

Simon31300

Bonjour à tous

J'essayé depuis quelque heure maintenant d'utiliser une "sonde"  VL53L0X.


Après avoir suivi les intructions de branchement et télécharger la bibliothèque je lance le sketch fourni dans les exemples et évidement ça ne marche pas.

Le moniteur série m'envoie cela comme dernier message : Failed to boot VL53L0X

J'ai scanner mon entrée I2C, la sonde est sur l'adresse 0X29 donc apparement la bonne pour le programme.

A la premiere compilation, un gros paquet de message d'erreur son affiché du style :

Arduino/libraries/Adafruit_VL53L0X/src/core/src/vl53l0x_api.cpp:2829:48: warning: left shift count >= width of type [-Wshift-count-overflow]
    (FixPoint1616_t)((0x00fff & Threshold16) << 17);

Arduino/libraries/Adafruit_VL53L0X/src/core/src/vl53l0x_api_core.cpp:1929:19: warning: left shift count >= width of type [-Wshift-count-overflow]
   pwMult += (1 << 16);


Mais à la deuxieme compilation tous va bien et le programme se lance, mais le moniteur série s'arrete à l'échec de boot

Etant vraiment débutant et malgré toutes la documentation sur internet je ne trouve pas de solution, quelqu'un pourrait-il m'aider ?

P.S: j'utilise arduino 1.8.9 et une carte arduino uno.

et au cas ou voici le sketch fourni dans l'exemple

Code: [Select]
#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);
}



Merci d'avance

Simon31300

Autant pour moi, problème résolu

c'est une sonde VL53L1X

c'est fou le temps qu'on peut perdre pour une bétise.

Par contre les valeurs sont proportionnels mais pas juste , est-ce normal ou faut-il que j'adapte la valeurs ?

Go Up