#include #include // Instanciamos el objeto del sensor Adafruit_VL53L0X lox = Adafruit_VL53L0X(); // Definimos el pin del LED de tu PCB const int pinLed = 8; void setup() { // Iniciar el monitor serie para ver las lecturas en la laptop Serial.begin(115200); // Configurar tu LED como salida pinMode(pinLed, OUTPUT); digitalWrite(pinLed, LOW); // Empezar con el LED apagado // Esperar a que el puerto serie se abra while (!Serial) { delay(1); } Serial.println("Iniciando prueba del VL53L0X..."); // Iniciar la comunicación I2C nativa en los pines del XIAO (D4 y D5) if (!lox.begin()) { Serial.println("¡Error al encontrar el sensor VL53L0X! Revisa las conexiones."); while (1); } Serial.println("VL53L0X listo y funcionando."); } void loop() { VL53L0X_RangingMeasurementData_t measure; // Tomar una medida de distancia lox.rangingTest(&measure, false); // Verificar si la medida es válida if (measure.RangeStatus != 4) { int distancia = measure.RangeMilliMeter; Serial.print("Distancia: "); Serial.print(distancia); Serial.println(" mm"); // LÓGICA: Si un objeto se acerca a menos de 100mm (10cm), enciende tu LED D8 if (distancia < 100) { digitalWrite(pinLed, HIGH); } else { digitalWrite(pinLed, LOW); } } else { Serial.println(" Fuera de rango u objeto demasiado lejos. "); digitalWrite(pinLed, LOW); } // --- TIEMPO DE ESPERA PARA LEER MEJOR --- // Cambia este valor a 1000 si prefieres que espere 1 segundo entero entre lecturas delay(1000); }