nuevo proyecto q empieza mal

hola, me presento mi nombre es fernando ,el tema es que se me puso en la cabeza hacer un proyecto para hacer unos programas de secuencia de luces algo que al principio pensé que era muy fácil... pero no y para el como soy principiante en programación.

la cosa es asi yo tengo un led al cual quiero asignarle varios programas/combinaciones de apagado y encendido. el tema esta en que quiero 80 funciones distintas pero no quisiera pulsar 80 veces un botón para llegar a la deseada. se me había ocurrido poner 2 pulsadores para conformar entre estos dos un numero que pueda ir de el 00 al 99 osea un pulsador que me cambiaría la selección de la unidad y el otro la decena, y por medio de dos dígitos led ver el numero seleccionado y por ende dicho numero haría referencia a una rutina diferente programada. también de ser posible que una vez seleccionado el numero de programa al reiniciar el arduino este comience con el ultimo asignado.

resumiendo... 00 prende y apaga cada 2 segundos 01 prende y apaga cada 20 seg boton 1 (decena) 17 queda prendido

= numero entero de _ _ digitos el cual hace ref a una rutina 76 sos

boton 2 (unidad) 92 etc,etc

Buenas Fernando, a mi se me habia ocurrido que podrias usar un potenciometro en una entrada analogica (asi te ahorras un pin). Si no me equivoco arduino puede leer 1024 valores, solo tendrias que dividirlos entre 80 y asignar una rutina a cada caso (en la que tambien puedes hacer que muestre en un display o digito led lo que tu quieras), la función map puede ayudarte a interpolar esos valores.

http://arduino.cc/es/Reference/map

Si no me equivoco sería algo así como:
Estado = map(analogRead(aqui el pin del potenciometro que usas como entrada),0,1023,79,0);
y luego un switch(Estado), con los 80 cases del 0 al 79 en el que le digas que led encender, cuanto tiempo, sacar un valor por por display… lo que se te ocurra.

Espero haberte ayudado, un saludo!

Esto te podría servir?

int pinUnidades=5; // Pin asignado al pulsador de las uidades
int pinDecenas=6; // Pin asignado al pulsador de las decenas
int Unidades; // Valor actual de Unidades
int Decenas; // Valor actual de Decenas
int Menu; // Para almacenar el numero completo (unidades y decenas)
void setup()
{
pinMode(pinUnidades, INPUT); // Establecer pin unidades como entrada
pinMode(pinDecenas, INPUT); // Establecer pin decenas como entrada
// estas lineas hay q cambiarlas para leer el dato guadado anteriormente
Unidades=0;
Decenas=0;
}

void loop()
{
if (digitalRead(pinDecenas)) // Pulsado boton incrementar decenas
{
if (Decenas<9) {Decenas++;} // Añadir decenas hasta la 9ª
}
else if (digitalRead(pinUnidades)) // Pulsado boton incrementar unidades
{
Unidades++; // Añadir unidades
if (Unidades>9) // Si pasamos de 9 unidades
{
Decenas++; // Añadir decena
Unidades=0; // Unidades a cero
if (Decenas>9) {Decenas=0;} // de 99 a 00
}
}
Menu=Decenas*10+Unidades; // Valor total decenas mas unidades
switch (Menu)
{
case 0:
// ************************
break;
case 1:
// ************************
break;
}
}