Bonsoir,
J'utilise un capteur VL53L0X. J'arrive à le faire fonctionner, mais je voudrais créer une fonction qui puisse recevoir en paramètre le capteur à mesurer pour retourner la valeur mesurée en integer.
J'ai regardé le modèle Adafruit_VL53L0X.ino, et je pense qu'il faut utiliser les pointeurs, mais je débute en C et en arduino (je code dans d'autres languages).
Pourriez-vous me dire comment résoudre mon problème ?
Il doit se situer autour de la ligne
int MesureDistanceLaser(Adafruit_VL53L0X *CAPTEUR) {
Merci d'avance,
#include "Adafruit_VL53L0X.h"
#define LASER_AVANT_ADDRESS 0X2A
Adafruit_VL53L0X LASER_AVANT = Adafruit_VL53L0X();
void setup() {
// initing LASER_AVANT
if (!LASER_AVANT.begin(LASER_AVANT_ADDRESS)) {
Serial.println(F("Failed to boot first VL53L0X"));
while (1);
}
}
void loop() {
Serial.println(MesureDistanceLaser(&LASER_AVANT));//Ecrire la mesure dans la console
}
int MesureDistanceLaser(Adafruit_VL53L0X *CAPTEUR) {
VL53L0X_RangingMeasurementData_t measure1;
*CAPTEUR.rangingTest(&measure1, false); // pass in 'true' to get debug data printout!
// print sensor one reading
Serial.println(F("1: "));
if (measure1.RangeStatus != 4) { // if not out of range
Serial.println(measure1.RangeMilliMeter);
return measure1.RangeMilliMeter;
} else {
return -1;
}
}