/* Prueba de tiras LED inteligentes WS2815
Debe instalar la libreria "Adafruit_NeoPixel.h" para que funcione el programa
Conexiones XIAO RP2350:
XIAO          TIRA LED / PCB
-----         ----------
 3.3V         A una pata del botón
 GND          GND y Resistencia Pull-down
 D0 (GPIO 26) Pin Datos Verde (Antes 12)
 D1 (GPIO 27) Señal Botón 1 (Antes 35)
 D2 (GPIO 28) Señal Botón 2 (Antes 34)
*/
#include <Adafruit_NeoPixel.h>    // importa libreria, debe instalarla previamente

int nleds = 2;  // Numero de LEDs a Probar
int retardo = 250; // más alto mas lenta la secuencia. 
int brillo = 255; // Brillo del LED. Es un byte, por tanto un valor de 0 a 255 para el brillo. 255 sería brillo máximo.

// CORRECCIÓN: Pines adaptados a la XIAO RP2350
const int btnPins1 = D0; // botones
const int btnPins2 = D1; // botones

// CORRECCIÓN: Pin de datos cambiado a D0 (asegúrate de conectar ahí el cable verde)
Adafruit_NeoPixel tira = Adafruit_NeoPixel(nleds, D0, NEO_GRB + NEO_KHZ800);  

void setup(){
  // CORRECCIÓN: Usamos INPUT porque tu PCB ya tiene resistencias pull-down externas
  pinMode(btnPins1, INPUT); 
  pinMode(btnPins2, INPUT); 
  tira.begin();
  tira.show();        
}

void loop(){
  tira.setBrightness(brillo);

  // BOTÓN 1: BLANCO (CORRECCIÓN: Se activa con HIGH según el esquema de PCB)
  if(digitalRead(btnPins1) == HIGH){
    for (int i=0; i<nleds; i++){ 
      tira.setPixelColor(i, 75, 104, 216); 
      tira.show();
      delay(retardo);
      tira.setPixelColor(i, 0, 0, 0); 
    }
    tira.show(); 
  }

  // BOTÓN 2: AZUL (CORRECCIÓN: Se activa con HIGH según el esquema de PCB)
  if(digitalRead(btnPins2) == HIGH){
    for (int j=0; j<nleds; j++){ 
      tira.setPixelColor(j, 255, 104, 216); // Color Azul
      tira.show();
      delay(retardo);
      tira.setPixelColor(j, 0, 0, 0); 
    }
    tira.show(); 
  }
}