#include #include VL53L1X sensor; void setup() { Serial.begin(115200); Wire.begin(); Wire.setClock(400000); // Utilizar I2C a 400 kHz sensor.setTimeout(500); if (!sensor.init()) { Serial.println("¡Error al detectar e inicializar el sensor!"); while (1); } // Utilizar el modo de distancia larga y permitir hasta 50000 us (50 ms) para una medición. // Puedes ajustar estos valores para cambiar el rendimiento del sensor, pero // el tiempo mínimo de medición es de 20 ms para el modo de distancia corta y 33 ms para // los modos de distancia media y larga. Consulta la hoja de datos del VL53L1X para más // información sobre los límites de rango y tiempo. sensor.setDistanceMode(VL53L1X::Long); sensor.setMeasurementTimingBudget(50000); // Iniciar lecturas continuas a una velocidad de una medición cada 50 ms (el // período entre mediciones). Este período debe ser al menos tan largo como el // tiempo de presupuesto. sensor.startContinuous(50); } void loop() { // Leer la distancia en milímetros uint16_t distance_mm = sensor.read(); // Convertir milímetros a centímetros float distance_cm = distance_mm / 10.0; // Imprimir la distancia en centímetros Serial.print("Distance: "); Serial.print(distance_cm); Serial.println(" cm"); // Esperar un segundo antes de la próxima lectura delay(1000); }