1 Pulsador 2 Led´s

Hola nataly!!!

prueba este código, compila bien pero no lo he probado, animo...

enum _estadoBoton  // Creamos un tipo nuevo
{
  noPulsado=0,
  pulsado=1,
};
enum _opcionesBoton
{
  ledsApagados=0,
  led1Encendido=1,
  led2Encendido=2,
 };


struct teclado{// creamos una estructura para recoger datos de la variables 
               // y sus funciones
  
  int pinBoton;
  int pinLed1;
  int pinLed2;
  _estadoBoton estadoBoton;  // cremos una variable de tipo _estadoBoton 
  _opcionesBoton opcionBoton;// cremos una variable de tipo _opcionesBoton

  void compruevaEstadoBoton(){
    if (digitalRead(pinBoton)==HIGH && estadoBoton==noPulsado){
      estadoBoton=pulsado;
      sumaOpcion();
      actuaOpcion(opcionBoton);

    }
    else 
      if (digitalRead(pinBoton)==LOW){
      estadoBoton=noPulsado;

    }
  }

  void sumaOpcion(){
    if (opcionBoton==ledsApagados){
      opcionBoton=led1Encendido;
    }
    if (opcionBoton==led1Encendido){
      opcionBoton=led2Encendido;
    }
    if (opcionBoton==led2Encendido){
      opcionBoton=ledsApagados;
    }


  }

  void actuaOpcion(_opcionesBoton opcion){
    if (opcion==ledsApagados){
      digitalWrite(pinLed2,LOW);
    }
    if (opcion==led1Encendido){
      digitalWrite(pinLed1,HIGH);
    }
    if (opcion==led2Encendido){
      digitalWrite(pinLed1,LOW);
      digitalWrite(pinLed2,LOW);
    }

  }
}
botones[1];// incrementando el valor obtendremos mas botones


void setup(){
  botones[1].pinBoton=5;// definimos los valores dentro de la estructura de datos
  botones[1].pinLed1=10;// del boton 1
  botones[1].pinLed2=11;
// si quisieramos mas botones:
/*
botones[0].pinBoton=4;
botones[0].pinLed1=9;
botones[0].pinLed2=8;
*/
// definimos los pines
  pinMode(botones[1].pinBoton,INPUT);
  pinMode(botones[1].pinLed1,OUTPUT);
  pinMode(botones[1].pinLed2,OUTPUT);

/*pinMode(botones[0].pinBoton,INPUT);
  pinMode(botones[0].pinLed1,OUTPUT);
  pinMode(botones[0].pinLed2,OUTPUT);*/

}


void loop(){
  // llamo a la función para controlar el estado del boton 1
  botones[1].compruevaEstadoBoton(); 
   // llamo a la funcion para controlar el estado del boton 0
//botones[0].compruevaEstadoBoton(); 

}