#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);
}