🎯 Lekcja 4: ATmega328P w praktyce

Pinout, zasilanie, reset, zegar i schemat minimalny – przygotowanie do pierwszego programu.

1. ATmega328P – podstawowe informacje

ATmega328P to 8-bitowy mikrokontroler AVR, znany m.in. z Arduino UNO, ale w tym kursie używany bez warstwy Arduino. Pracujemy bezpośrednio na rejestrach, co daje pełną kontrolę nad sprzętem.

  • 8-bitowy CPU RISC
  • 32 kB FLASH
  • 2 kB SRAM
  • 1 kB EEPROM
  • 23 linie GPIO
ATmega328P pinout
Obraz 1 – Pinout ATmega328P (DIP-28 lub poglądowy).

2. Porty i piny – jak je czytać?

Piny mikrokontrolera są pogrupowane w porty:

Port Piny Typowe zastosowanie
PORTB PB0–PB5 SPI, LED, PWM
PORTC PC0–PC5 ADC, I2C
PORTD PD0–PD7 UART, przerwania, GPIO
Ważne Jeden pin = jeden bit w rejestrze portu.

3. Zasilanie mikrokontrolera

Aby ATmega328P działała poprawnie, musi być prawidłowo zasilona. Najczęściej stosowane napięcie to 5 V (lub 3.3 V w wersjach low-power).

  • VCC – zasilanie części cyfrowej
  • AVCC – zasilanie ADC
  • GND – masa
Błąd początkujących Brak podłączenia AVCC = problemy z portami i ADC.
Zasilanie i reset ATmega328P
Obraz 2 – Poprawne zasilanie i linia RESET.

4. RESET – po co i jak?

Pin RESET służy do restartu mikrokontrolera. W typowym układzie:

  • podciągnięty do VCC rezystorem (np. 10 kΩ),
  • chwilowe zwarcie do GND powoduje reset.

5. Zegar – serce układu

Mikrokontroler potrzebuje zegara do pracy. ATmega328P może korzystać z:

  • wewnętrznego oscylatora (np. 8 MHz),
  • zewnętrznego rezonatora (np. 16 MHz).

Wybór źródła zegara odbywa się przez FuseBity.

Zegar wewnętrzny i zewnętrzny ATmega328P
Obraz 3 – Źródła zegara: wewnętrzny i zewnętrzny.
Na start W kursie zaczniemy od wewnętrznego oscylatora – to najprostsza i najbezpieczniejsza opcja.

6. Minimalny schemat uruchomieniowy

Aby ATmega328P działała, wystarczy:

  • zasilanie VCC/AVCC + GND,
  • rezystor RESET,
  • źródło zegara (wewnętrzne lub zewnętrzne).
Gotowość do programowania Od następnej lekcji zaczynamy kodowanie w języku C.