#define PHOTO_PIN A2 // Pin D3 en la Xiao RP2040 generalmente se corresponde con A2 para lecturas analógicas
#define NEOPIXEL_PIN D4
#define NUMPIXELS 16
#define LIGHT_THRESHOLD_LOW 700 // Umbral bajo
#define LIGHT_THRESHOLD_HIGH 1000 // Umbral alto
Adafruit_NeoPixel pixels(NUMPIXELS, NEOPIXEL_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(9600);
pinMode(PHOTO_PIN, INPUT);
pixels.begin();
pixels.clear();
pixels.show();
}
void loop() {
int lightLevel = analogRead(PHOTO_PIN);
Serial.println(lightLevel); // Para depuración
if (lightLevel < LIGHT_THRESHOLD_LOW) {
// Prender en verde
for (int i = 0; i < NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(0, 255, 0)); // Verde
}
} else if (lightLevel > LIGHT_THRESHOLD_HIGH) {
// Prender en rojo
for (int i = 0; i < NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // Rojo
}
} else {
// Apagar NeoPixels
for (int i = 0; i < NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // Apagar
}
}
pixels.show();
delay(100);
}