#define BUTTON_PIN 2
#define PWM_PIN 3

volatile int pulseCount = 0;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(PWM_PIN, OUTPUT);

  TCCR2A = (1 << COM2B1) | (1 << WGM20);
  TCCR2B = (1 << CS22);
  OCR2B = 78;
  attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), buttonPressed, FALLING);
}

void loop() {
}

void buttonPressed() {
  if (pulseCount < 11000) {
    pulseCount++;
    OCR2B = 78; // 60% коефіцієнт заповнення
  } else {
    pulseCount = 0;
    OCR2B = 0; // Зупинити генерацію ШІМ
  }
}
ScopeBreakout