Dado... se demora en encender los LEDs

Muchas gracias.
Ya lo he resuelto, fue problema de la conexión del botón, disculpen.
Finalmente quedo el código así

int Dado = 0;
void setup() {
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(2, INPUT);
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
  digitalWrite(9, LOW);
  digitalWrite(8, LOW);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
  randomSeed(analogRead(0));
}

void loop() {
  if (digitalRead(2) == HIGH) {
    digitalWrite(12, LOW);
    digitalWrite(11, LOW);
    digitalWrite(10, LOW);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    digitalWrite(7, LOW);
    digitalWrite(6, LOW);
    do{
      Dado = random(1, 7);
    }while(Dado == 0);
    
  } else {
    switch (Dado) {
      case 1:
        digitalWrite(9, 1);
        break;
      case 2:
        digitalWrite(6, 1);
        digitalWrite(12, 1);
        break;
      case 3:
        digitalWrite(6, 1);
        digitalWrite(9, 1);
        digitalWrite(12, 1);
        break;
      case 4:
        digitalWrite(6, 1);
        digitalWrite(8, 1);
        digitalWrite(10, 1);
        digitalWrite(12, 1);
        break;
      case 5:
        digitalWrite(6, 1);
        digitalWrite(8, 1);
        digitalWrite(10, 1);
        digitalWrite(12, 1);
        digitalWrite(9, 1);
        break;
      case 6:
        digitalWrite(6, 1);
        digitalWrite(7, 1);
        digitalWrite(8, 1);
        digitalWrite(10, 1);
        digitalWrite(11, 1);
        digitalWrite(12, 1);
        break;
    }
  }
}

Me esta funcionando muy bien, pero si hay algo que pueda corregir seria de mucha ayuda.