Generator przerwań zegara Arduino

setup()
ISR()


Instrukcja obsługi generatora przerwań zegara Arduino

Generator służy do przygotowania ustawień timera (przerwań zegara) w Arduino. Poniżej znajdziesz prostą instrukcję krok po kroku, także dla początkujących.

1. Wybierz typ płytki

Na górze formularza wybierz, czy używasz Arduino Uno/Nano (ATmega328P) czy Arduino Mega 2560 (ATmega2560). Lista timerów dopasuje się do wybranej płytki (Mega ma Timery 0–5).

2. Wybierz timer

Wybierz timer, którego chcesz użyć (np. Timer1). Jeśli nie wiesz, zacznij od Timer1 — jest często używany i oferuje dobrą rozdzielczość. Na Mega dostępne są także Timery 3/4/5.

3. Ustaw częstotliwość

Podaj, ile razy na sekundę ma wywoływać się przerwanie (np. 1000 Hz = 1000 razy na sekundę). Generator sam przeliczy parametry timera.

4. Sprawdź wyniki

Generator pokaże:

  • ustawienia preskalera,
  • wartość rejestru porównania (OCR),
  • informację, czy ustawienie jest możliwe dla wybranego timera.

5. Skopiuj kod do Arduino

Skopiuj wygenerowany kod i wklej go do szkicu Arduino IDE. Upewnij się, że:

  • inicjalizacja timera znajduje się w funkcji setup(),
  • obsługa przerwania znajduje się w odpowiedniej funkcji ISR,
  • nie używasz tego samego timera do innych bibliotek (np. Servo).

6. Testuj działanie

Wgraj program do Arduino. Jeśli potrzebujesz sprawdzić, czy przerwanie działa, możesz np. przełączać diodę LED w funkcji ISR (dla testu).

Uwaga: niektóre biblioteki korzystają z timerów i mogą kolidować z konfiguracją przerwań. Na Arduino Uno/Nano:

  • Servo zwykle używa Timer1,
  • Tone zwykle używa Timer2,
  • funkcje czasu millis()/delay() korzystają z Timer0,
  • PWM jest powiązane z Timer0/1/2 (zależnie od pinu).

Na Arduino Mega 2560 odpowiednikiem Timer1 jest Timer5, a dodatkowo dostępne są Timery 3 i 4, co ułatwia dobranie timera bez konfliktu z bibliotekami.

Jeśli pojawiają się problemu w działaniu programu, wybierz inny timer w generatorze lub sprawdź dokumentację biblioteki, z którego timera korzysta.