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


const int LED = 9;
const int BTN = 2;

int count = 0;

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(BTN, INPUT_PULLUP);
}

void loop() {
  // Кнопка нажата (LOW из-за INPUT_PULLUP)
  if (digitalRead(BTN) == LOW) {
    count++;
    delay(300); // защита от дребезга

    if (count == 3) {
      // Плавный рост яркости от 0 до 255 за 3 секунды
      for (int i = 0; i <= 255; i++) {
        analogWrite(LED, i);
        delay(12); // 255 * 12 мс ≈ 3000 мс = 3 сек
      }
    }

    if (count == 4) {
      // Сброс
      analogWrite(LED, 0);
      count = 0;
    }
  }
}