#define ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
static volatile uint16_t period = 255;
static volatile uint16_t big_number = 0;
uint16_t newPeriod = 0;
void loop()
{
  int poti = analogRead(A0);  //A poti két "vége" az ARDUINO NANO 17. lába (3,3V) és 29. lába (GND) közé, csúszkája a 19. lábára (A0) van kötve.
  int freq = 100 + 76 * poti; // min "freq" = 100 Hz, max "freq" = 100 + ((76*1023*(3,3/5)) = 51 314 Hz.
  uint16_t newPeriod = big_number / freq; // periódusidő kiszámolása a frekvencia alapján osztással. A big_number értékét a PWM beállításai alapján kell kiszámolni
  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
  {
    period = newPeriod;
  }
} 
ISR(TIMER1_COMPA_vect)
{
  OCIE1A = period;
}