// Плата: LGT8F32P
// Светодиод подключен к пину 9 (ШИМ)
// Кнопка подключена между пином 2 и GND
#define LED_PIN 9
#define BUTTON_PIN 2
int count = 0; // счетчик нажатий
bool ledFading = false; // флаг процесса нарастания яркости
unsigned long startTime; // время начала нарастания
int lastState = HIGH; // предыдущее состояние кнопки
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
int state = digitalRead(BUTTON_PIN);
if (state == LOW && lastState == HIGH) {
delay(50);
count++;
if (count == 3) {
ledFading = true;
startTime = millis();
}
if (count > 3) {
count = 0;
ledFading = false;
analogWrite(LED_PIN, 0);
}
}
lastState = state;
if (ledFading) {
unsigned long elapsed = millis() - startTime;
if (elapsed < 3000) {
int brightness = map(elapsed, 0, 3000, 0, 255);
analogWrite(LED_PIN, brightness);
} else {
analogWrite(LED_PIN, 255);
ledFading = false;
}
}
}