const int buttonPin = 2;
const int ledPin = 9; // Нужен PWM-пин
int buttonState = HIGH;
int lastButtonState = HIGH;
int pressCount = 0;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
// Обнаруживаем новое нажатие
if (lastButtonState == HIGH && buttonState == LOW) {
pressCount++;
if (pressCount == 3) {
// Плавно увеличиваем яркость
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledPin, brightness);
delay(10);
}
}
if (pressCount == 4) {
// Выключаем светодиод
analogWrite(ledPin, 0);
pressCount = 0;
}
delay(50); // Защита от дребезга кнопки
}
lastButtonState = buttonState;
}