void ejecutarSecuencias() { switch (secuencia) { case 1: encenderTodos(); break; case 2: apagarTodos(); break; case 3: secuencia3(300); break; case 4: secuencia4(300); break; case 5: secuencia5(20); break; case 6: unSemaforo(); break; default: secuencia = 0; } } void apagarTodos() { for (i = 0; i < nQ; i++) digitalWrite(Q[i], LOW); } void encenderTodos() { for (i = 0; i < nQ; i++) digitalWrite(Q[i], HIGH); } void secuencia3(int retardo) { if ((millis() - tiempo) >= retardo) { digitalWrite(Q[contador], HIGH); contador ++; tiempo = millis(); } if (contador > nQ) { contador = 0; apagarTodos(); } } void secuencia4(int retardo) { if ((millis() - tiempo) >= retardo) { digitalWrite(Q[contador], HIGH); digitalWrite(Q[contador - 1], LOW); contador ++; tiempo = millis(); } if (contador > nQ) { contador = 0; apagarTodos(); } } void secuencia5(int retardo) { for (int i = 0; i < nQ; i++) { digitalWrite(Q[i], HIGH); delay(retardo); digitalWrite(Q[i], LOW); } for (int i = nQ - 1; i >= 0; i--) { digitalWrite(Q[i], HIGH); delay(retardo); digitalWrite(Q[i], LOW); } }