#define LED_PIN 5
#define BUTTON_PIN 6
#define BTN_DEB 50
int count = 0;
int brightness = 0;
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop()
{
static bool pState = false;
static uint32_t tmr;
bool state = !digitalRead(BUTTON_PIN);
if (pState != state && millis() - tmr >= BTN_DEB)
{
tmr = millis();
pState = state;
if (state)
{
count++;
if (count == 3)
{
for (brightness = 0; brightness <= 255; brightness++)
{
analogWrite(LED_PIN, brightness);
delay(12);
}
}
if (count == 4)
{
count = 0;
brightness = 0;
analogWrite(LED_PIN, 0);
}
}
}
}