Загрузка данных


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