ATmega328P je 8bitový AVR mikrokontrolér, který pohání Arduino Uno i Nano. V pouzdře DIP-28 se hodí do vlastních desek i nepájivého pole – s krystalem 16 MHz a dvěma kondenzátory z něj uděláte „Arduino na koleni“.
Stejné rozložení pinů mají i ATmega8, ATmega88 a ATmega168.
Parametry
- 8bitový AVR až 20 MHz (Arduino 16 MHz), vnitřní oscilátor 8 MHz
- 32 kB flash, 2 kB SRAM, 1 kB EEPROM
- 23 GPIO, 6 kanálů 10bitového ADC (u pouzder TQFP a QFN 8)
- UART, SPI, I2C (TWI), 3 časovače, 6× PWM
- napájení 1,8–5,5 V (na 16 MHz od 4,5 V)
Nahrává se přes ISP (MOSI, MISO, SCK a RESET) – programátorem USBasp nebo jiným Arduinem s programem ArduinoISP. S nahraným bootloaderem pak stačí převodník USB-serial na RX a TX.
Pinout a tabulka pinů
Najeďte myší na pin v diagramu nebo na řádek tabulky, filtrem zvýrazníte sběrnici. Pinout si můžete stáhnout jako PNG nebo SVG.
| Pin | Název | Arduino | Směr | UART | I2C | SPI | PWM | ADC | Poznámka |
|---|---|---|---|---|---|---|---|---|---|
| 1 | PC6 | vstup/výstup | Reset (aktivní v log. 0) – jako GPIO jen po vypnutí RSTDISBL, pak ale nejde programovat přes ISP | ||||||
| 2 | PD0 | D0 | vstup/výstup | RX | UART RX | ||||
| 3 | PD1 | D1 | vstup/výstup | TX | UART TX | ||||
| 4 | PD2 | D2 | vstup/výstup | Externí přerušení INT0 | |||||
| 5 | PD3 | D3 | vstup/výstup | PWM | Externí přerušení INT1; PWM z časovače 2 (OC2B) | ||||
| 6 | PD4 | D4 | vstup/výstup | Vstup čítače T0 | |||||
| 7 | VCC | vstup | Napájení 1,8–5,5 V (16 MHz od 4,5 V) | ||||||
| 8 | GND | – | |||||||
| 9 | PB6 | vstup/výstup | Krystal (XTAL1) – s externím krystalem není volný | ||||||
| 10 | PB7 | vstup/výstup | Krystal (XTAL2) – s externím krystalem není volný | ||||||
| 11 | PD5 | D5 | vstup/výstup | PWM | PWM z časovače 0 (OC0B); vstup čítače T1 | ||||
| 12 | PD6 | D6 | vstup/výstup | PWM | PWM z časovače 0 (OC0A); analogový komparátor AIN0 | ||||
| 13 | PD7 | D7 | vstup/výstup | Analogový komparátor AIN1 | |||||
| 14 | PB0 | D8 | vstup/výstup | Záchyt časovače 1 (ICP1); výstup hodin CLKO | |||||
| 15 | PB1 | D9 | vstup/výstup | PWM | PWM z časovače 1 (OC1A) | ||||
| 16 | PB2 | D10 | vstup/výstup | SS | PWM | PWM z časovače 1 (OC1B); SPI SS | |||
| 17 | PB3 | D11 | vstup/výstup | MOSI | PWM | PWM z časovače 2 (OC2A); SPI MOSI (ISP) | |||
| 18 | PB4 | D12 | vstup/výstup | MISO | SPI MISO (ISP) | ||||
| 19 | PB5 | D13 | vstup/výstup | SCK | SPI SCK (ISP); v Arduinu D13 s LED | ||||
| 20 | AVCC | vstup | Napájení A/D převodníku a portu C – spojit s VCC, ideálně přes LC filtr (10 µH + 100 nF). | ||||||
| 21 | AREF | vstup | Reference A/D převodníku | ||||||
| 22 | GND | – | |||||||
| 23 | PC0 | A0 | vstup/výstup | ADC0 | |||||
| 24 | PC1 | A1 | vstup/výstup | ADC1 | |||||
| 25 | PC2 | A2 | vstup/výstup | ADC2 | |||||
| 26 | PC3 | A3 | vstup/výstup | ADC3 | |||||
| 27 | PC4 | A4 | vstup/výstup | SDA | ADC4 | I2C SDA | |||
| 28 | PC5 | A5 | vstup/výstup | SCL | ADC5 | I2C SCL |
Na co si dát pozor
- Pin 1 (PC6) je RESET a potřebuje pull-up (10 kΩ). Jako GPIO ho lze použít jen po vypnutí RSTDISBL – pak ale čip nejde programovat přes ISP.
- S externím krystalem jsou PB6 a PB7 obsazené.
- AVCC připojte k VCC i bez použití ADC a ke každému napájecímu pinu dejte blokovací kondenzátor 100 nF.
- Z výroby čip běží na 1 MHz (vnitřních 8 MHz děleno 8) – bez nastavení fuses nebude časování Arduina sedět.
- Nastavení fuses kontrolujte dvakrát – špatně zvolený zdroj hodin čip „zamkne“.
Kde koupit
ATmega328P seženete například tady:
- LaskaKit.cz – ATmega328P-PU (DIP-28)
- Botland.cz – ATmega328P (DIP-28)
- GME.cz – ATmega328P-PU (DIP-28)
Projekty s ATmega328P na chiptronu
Na chiptronu najdete tyto projekty a návody:
- Pájecí stanice pro Hakko T12 – open-source řízení hrotů T12 s ATmega328P a enkodérem
- Člověče, nezlob se! – elektronická hra s ATmega328P, LED WS2812B a dotykovým ovládáním
- Měření proudu Hallovým čidlem – ACS712 a ATmega328P s LCD displejem a výstupem přes UART
- LoraPaper – předpověď počasí na ePaperu s ATmega328P, bez baterií díky solárnímu napájení
- Arduino a funkce millis() – proč na ATmega328 nikdy neuvidíte číslo 42
- LGT8F328P – vylepšený klon ATmega328P s DAC a vyšším taktem, přehled desek
Další pinouty
Všechny pinouty najdete na stránce Pinouty.