Seleccion de funciones con 2 pulsadores

Perdon aca esta la siguiente parte del post
El proyecto se trata de controlar LED's RGB con 74hc595
todo esta bien conectado
aca esta el codigo, los pulsadores estan conectados en pull down y con resistencia de 4.7k

he intentado con 1 solo pero no he podido hacerlo
El monitor de arduino me marca que se queda en 1

// El Clock y data pins son pines del hardware SPI, no se podra elegirlos  si usa el hardware SPI.
// Data pin es MOSI (Uno y anteriores: 11, Leonardo: ICSP 4, Mega: 51, Teensy 2.0: 2, Teensy 2.0++: 22) 
// Clock pin es SCK (Uno y anteriores: 13, Leonardo: ICSP 3, Mega: 52, Teensy 2.0: 1, Teensy 2.0++: 21)

// Se Puede elegir el pin "latch" .
const int ShiftPWM_latchPin=8;

// ** Si elimina el comentario de esta parte para NO usar el puerto SPI y cambie los números de pin. Esto es 2.5 veces más lento **
// #define SHIFTPWM_NOSPI
const int ShiftPWM_dataPin = 11; const int ShiftPWM_clockPin = 13;


// Si los LED se encienden si el pin es bajo, configúrelo en true; de lo contrario, configúrelo en false.
const bool ShiftPWM_invertOutputs = true; 

// Se Puede habilitar la opción siguiente para cambiar la fase PWM de cada registro de desplazamiento por 8 en comparación con la anterior.
// Esto aumentará ligeramente la carga de interrupción, pero evitará que todas las señales PWM se vuelvan altas al mismo tiempo.
// Esto será un poco más fácil para la fuente de alimentación, ya que los picos actuales se distribuyen.
const bool ShiftPWM_balanceLoad = false;
#define SHIFTPWM_USE_TIMER2
#include <ShiftPWM.h>   // incluye ShiftPWM.h después de configurar los pines ._.

// Aquí establece el número de niveles de brillo(0 a 255) , la frecuencia de actualización y el número de registros de desplazamiento.
// Estos valores afectan la carga de ShiftPWM.
// Eligi sabiamente y use la función PrintInterruptLoad () para verificar su carga. Puede explotar <-\('-')
// Hay una calculadora en en internet para estimar la carga. 
int currentLevel=1;

unsigned char maxBrightness = 255;
unsigned char pwmFrequency = 75;
int numRegisters = 6;
int numRGBleds = numRegisters*8/3;
// se declara los pulsadores
const int Pulsador = 2; //pulsador 1 
const int inputPin2 = 3; //pulsador 2

boolean Estado_Pulsador;      // Para almacenar el estado del pulsador low o high
boolean Estado_Anterior;      // Usada para saver cundo soltamos el pulsador

byte Secuencia = 1;           // Para manejar la secuencia de salidas
byte Total_Secuencias=2;      // Cambia aquipara limitar ell numero de secuencias

unsigned long T_Apagar=3000;  // Tiempo a mantener pulsado el boton para apagar 
unsigned long T_Pulsado=0;    // Auxiliar para controlar tiempo de boton pulsado

int contador =1;
int numeropulsaciones=1;
void setup(){
  Serial.begin(9600);
   Estado_Anterior = false;    // Iniciamos elproceso con el boton sin pulsar
  // Se Establece la cantidad de registros de 8 bits que se utilizan.
  ShiftPWM.SetAmountOfRegisters(numRegisters);

  // SetPinGrouping permite flexibilidad en la configuración de LED. 
  // Si tus LED están conectados así: RRRRGGGGBBBBRRRRGGGGBBBB, use SetPinGrouping (4). si no se mezclaran los colores
  ShiftPWM.SetPinGrouping(1); //Este es el valor predeterminado, pero se puede agregar otro valor para demostrar cómo usar la función
  
  ShiftPWM.Start(pwmFrequency,maxBrightness);
  boolean
  pinMode(Pulsador, INPUT);
 
}



void loop()
{    

// Estado_Pulsador = !digitalRead(Pulsador); // Lee el estado del botón pull up. 
  Estado_Pulsador = !digitalRead(Pulsador);    // Lee el estado del botón pull down.
  
  if (Estado_Pulsador && !Estado_Anterior)     // Si pulsador pasa de low a high (entra al pulsar pero no al mantener pulsado)
  {
    T_Pulsado=millis()+T_Apagar;               // Para controlar el timpo que pasa pulsado 
    Estado_Anterior=true;                      // No enta en el if hasta q pulsador pase de high a low
    Secuencia++;                               // Pasamos a siguiente secuencia
  } 
  
  if (!Estado_Pulsador && Estado_Anterior)     // Si pulsador pasa de high a low (entra al soltar pulsador pero no al mantener despulsado)
  {
    Estado_Anterior=false;                     // No enta en el if hasta q pulsador pase de low a high
    T_Pulsado=0;                               // Al soltar pulsador ya no controlamos el tiempo que permanece pulsado
  } 
  
  if (T_Pulsado>0 && Estado_Pulsador && millis()>T_Pulsado)  
  {                                        // Si hay tiempo cargado para controlar el fin y esta pulsado y ha transcurrido el tiempo para apagarlo
    T_Pulsado=0;                           // Ya no controlamos tiempo de pulsado
    Secuencia=0;                           // Secuencia 0, todo apagado
  }  
  
  if (Secuencia>Total_Secuencias)          // Si se han acabado las secuencias
  {Secuencia=1;}                                    // Regresamos a la primera (podrias poner T_Pulsado=0; para finalizar aqui)
  
switch (Secuencia) 
{
    case 0:
          //No hay secuencia, apagar o hacer lo que necesites
      break;   
   case 1:
      // Actualiza el LED aleatorio a color aleatorio. re Flashero
      for(int i=0;i<1000;i++){
    ShiftPWM.SetHSV(random(numRGBleds),random(360),255,255);
    delay(30);
  } 
      break;
    case 2:
    // Fundido en todas las salidas
      for(int j=0;j<maxBrightness;j++){
    ShiftPWM.SetAll(j);  
    delay(10);}
      break;
}
      Serial.println(Secuencia);
      // Muestra información sobre la frecuencia de interrupción, la duración y la carga de su programa
      ShiftPWM.PrintInterruptLoad();
    }