int LED = 11;
int PB = 10;
int Pot = 0;


int intensidad;
int estadoBotonIncremento;
int estadoBotonAnteriorIncremento;
const int tiempoAntirebote = 10;
boolean bandera = false;
boolean banderaPot;


boolean antirebote(int pin){
  int contador = 0;
  boolean estado;
  boolean estadoAnterior;

  do{
    estado = digitalRead(pin);
    if(estado != estadoAnterior){
      contador = 0;
      estadoAnterior = estado;
    }
    else{    
      contador = contador + 1;
    }
    delay(1);
  } 
  while(contador < tiempoAntirebote);
  return estado;
}


void setup(){
  pinMode(LED, OUTPUT);
  pinMode(PB, INPUT);
  pinMode(Pot, INPUT);
  Serial.begin(9600);
}
  

void loop(){
  estadoBotonIncremento = digitalRead(PB);
  if(estadoBotonIncremento != estadoBotonAnteriorIncremento){
     if(!antirebote(PB)){ 
      if(bandera==true){
        digitalWrite(LED, HIGH);
        bandera=false;
        banderaPot=true;
             
      }
        else{
        digitalWrite(LED, LOW);
        bandera=true;
        banderaPot=false;
      
        
      }
    }
  }
  if(banderaPot ==true){
    intensidad = analogRead(Pot)/4;
        analogWrite(LED,intensidad);
        Serial.print("POT: ");
        Serial.println(intensidad);
        delay(10);
  }
}