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); } }