arduino segnala errori senza senso, forse

Basta basta... torniamo al programma..

#define pulsante1 7
#define pulsante2 6
#define pulsante3 5
#define LED 13
int pausa = 1000;
int pausa2 = 3000;
int stato;

void setup()
{
  pinMode(pulsante1, INPUT);
  pinMode(pulsante2, INPUT);
  pinMode(pulsante3, INPUT);
  pinMode(LED, OUTPUT);
}

void loop()
{
  if(pulsante1 == HIGH)
  {
    stato = 1;
  }
  else
  {
    if(pulsante2 == HIGH)
    {
      stato = 2;
    }
    else
    {
      if(pulsante3 == HIGH)
      {
        stato = 3;
      }
      else
      {
        stato = 0;
      }
    }
  }

  switch (stato)
  {
  case 1:
    digitalWrite(LED, HIGH);
    delay(pausa);
    digitalWrite(LED, LOW);
    delay(pausa2);
    break;

  case 2:
    digitalWrite(LED, HIGH);
    delay(pausa);
    digitalWrite(LED, LOW);
    delay(pausa);
    digitalWrite(LED, HIGH);
    delay(pausa);
    digitalWrite(LED, LOW);
    delay(pausa2);
    break;

  case 3:
    digitalWrite(LED, HIGH);
    delay(pausa);
    digitalWrite(LED, LOW);
    delay(pausa);
    digitalWrite(LED, HIGH);
    delay(pausa);
    digitalWrite(LED, LOW);
    delay(pausa);
    digitalWrite(LED, HIGH);
    delay(pausa);
    digitalWrite(LED, LOW);
    delay(pausa2);
    break;

  case 0:
    digitalWrite(LED, LOW);
    break;
  }
}

Credo dovresti mettere un delay nel loop. Il ciclo così fatto è velocissimo. Per farlo funzionare dovresti tenere premuto il pulsante.
Inoltre dovresti inserire il delay anche come funzione debounce (anti-rimbalzo)

Per il debug, inizializza la seriale nel setup e metti qualche print qua e là.