ATmega328P je jedním z nejpopulárnějších mikrokontrolérů na světě, které jsou vhodné pro vlastní potřebu. Tento jednočipový mikrokontrolér je dobrou volbou pro ty, kteří se pouštějí do kutilské elektroniky a nachází se na nejnovější generaci Arduino Unos (spolu s dalšími deskami mikrokontrolérů). Ale co potřebujete vědět o ATmega328P, než začnete používat své Arduino?
Co je mikrokontrolér ATmega328P?
ATmega328P, vytvořený společností Atmel, je jednočipový mikrokontrolér založený na 8bitovém procesorovém jádru RISC. Tento malý mikrokontrolér je nízkoenergetický a cenově dostupný, takže je vynikající volbou pro různé aplikace, včetně DIY projektů, které chcete realizovat.
Čip ATmega328P byl po mnoho let uváděn jako prominentní součást Arduina. Arduino Uno používá tento mikrokontrolér spolu s deskami Arduino Pro Mini a Arduino Nano. Díky tomu je v elektronickém prostoru pro kutily extrémně běžná a stojí za to dozvědět se o jejích možnostech, pokud plánujete používat tyto desky.
Desky Arduino pomocí mikrokontroléru ATmega328P
ATmega328P se nachází na deskách mikrokontrolérů Arduino Uno a Arduino Nano, dvou z nejpopulárnějších produktů od Arduina. Tento čip si můžete také zakoupit jako samostatný produkt, pokud jej chcete vyzkoušet bez desky mikrokontroléru, i když to bude náročný způsob, jak začít. Můžete použít našeho praktického průvodce, abyste se dozvěděli o různé typy desek mikrokontrolérů Arduino.
Specifikace datového listu ATmega328P
ATmega328P má na tak malý čip překvapivě hustý datasheet. Než začnete psát kód pro svůj mikrokontrolér, je třeba si uvědomit řadu specifikací. Rozdělili jsme je, abychom usnadnili pochopení omezení a omezení tohoto čipu. Začněme základními specifikacemi, abyste měli představu o tom, jak se ATmega328P tvaruje.
- PROCESOR: 8bitový AVR s maximální rychlostí 20 MHz
- Flash paměť: 32kB vestavěný flash
- SRAM: 2 kB
- EEPROM: 1 kB
- Počet pinů: 28 nebo 32 (v závislosti na typu balení)
- Kapacitní dotykové kanály: 16
- Maximální počet I/O pinů: 23
- Externí přerušení: 2
Každá z těchto různých specifikací hraje svou vlastní roli v tom, že je ATmega328P tak vhodný pro použití s vývojovými deskami, jako je Arduino. Ale co něco z toho vlastně znamená?
- PROCESOR: CPU na čipu ATmega328P je 8bitový CPU založený na AVR RISC. RISC znamená „počítač s redukovanou instrukční sadou“ a je to typ procesoru navržený tak, aby zjednodušil jednotlivé úkoly, které počítač provádí. Naproti tomu procesor Intel nebo AMD vašeho počítače je pravděpodobně procesor CISC (počítač s komplexní sadou instrukcí).
- Flash paměť: Flash je druh energeticky nezávislé paměti, která se používá pro trvalé ukládání. ATmega328P je vybaven pouze 32 kB flash paměti, i když to stačí na spoustu kódu. Můžete se dozvědět o rozdíly mezi energeticky nezávislou a energeticky nezávislou pamětí na webu MUO.
- SRAM: SRAM je zkratka pro „static random access memory“. Tato paměť hraje stejnou roli jako RAM ve vašem PC a poskytuje čipu ATmega328P dočasnou paměť pro ukládání dat a proměnných při průchodu kódem.
- EEPROM: Jedná se o typ bajtové vymazatelné paměti používané k ukládání malého množství dat. Na rozdíl od SRAM je EEPROM energeticky nezávislá a uchová svá data, když čip ATmega328P není napájen.
Schéma zapojení ATmega328P
Schéma pinů ATmega328P výše ukazuje různé kolíky na čipu ATmega328P DIP a kolíky na desce Arduino Uno. To by vám mělo poskytnout dobrou představu o tom, jak tento čip a populární deska mikrokontroléru spolupracují.
ATmega328P je všestranný čip s řadou aplikací. Proto je pro tento čip k dispozici řada různých obalů, všechny v různých tvarech a s různými typy olova. TQFP (čtyřnásobný plochý balíček), MLF/VQFN (micro leadframe nebo čtyřplochý bez vývodů) a DIP (dual in-line balíček) jsou nejběžnější z těchto balíčků.
Originální desky Arduino Uno používají DIP variantu čipu ATmega328P (aka ATmega328P-PU), což znamená, že čip lze vyjmout a vyměnit (na rozdíl od ATmega328P-AU). Jiné typy desek Arduino používají různé čipy ATmega typu quad-flat package a ty nelze odstranit.
Omezení ATmega328P a Arduino Uno
Jako každý mikrokontrolérový čip přichází i ATmega328P s určitými omezeními, která je třeba vzít v úvahu, než se s ním rozhodnete pracovat. Tato omezení platí také pro desky Arduino, které tyto čipy používají.
Nízký rozpočet SRAM
Čip ATmega328P je dodáván s 2 kB SRAM, což je pro většinu projektů dost. Pro ty, kteří chtějí používat více knihoven a kód se spoustou proměnných, však může být snadné vyčerpat SRAM, což způsobí selhání vašeho programu.
Programátoři pracující s deskami Arduino mají velkou kontrolu nad správou paměti díky použití C++. Text, obrázky a další předem připravené položky lze ukládat do paměti flash jako způsob, jak uvolnit další paměť pro programy, které spouštíte, a zlepšit tak rozpočet SRAM.
Omezený výpočetní výkon
20Hz CPU na čipu ATmega328P je skvělý pro spouštění jednoduchého kódu, ale nabízí omezený výpočetní výkon pro složité aplikace. To znamená, že není vhodný pro věci, jako je rozpoznávání řeči, hluboké učení nebo jiné běžné úlohy mikrokontroléru.
Řešení tohoto problému není možné s ATmega328P. Pokud potřebujete více energie, budete muset hledat vhodnější desku mikrokontroléru pro váš úkol by rád vystupoval, ale na trhu je spousta možností, jak vám poskytnout přístup k tomu, co potřebujete.
Výhody ATmega328P a Arduino Uno
Kromě omezení ATmega328P existují také výhody, které přináší použití takového čipu. Ty u jednoduchých projektů často převažují nad omezeními mikrokontroléru, zvláště pokud s mikrokontroléry teprve začínáte.
- Dostupnost: Čip ATmega328P je cenově dostupný a snadno k nalezení, takže je ideální pro levné kutilské projekty. Díky skvělé hodnotě tohoto čipu je Arduino Uno také cenově velmi dostupná deska.
- Snadnost použití: ATmega328P je vyroben s ohledem na spotřebitele a snadno se používá ve srovnání s jinými čipy mikrokontroléru, takže je ideální pro ty, kteří začínají s vlastními kutilskými projekty.
- Samostatný čip: Čip ATmega328P lze použít samostatně nebo s deskou mikrokontroléru, jako je Arduino Uno.
Informace o ATmega328P a Arduino Uno
Na webu je spousta zdrojů, které jsou navrženy tak, aby vám pomohly začít s Arduino Uno a ATmega328P, které používá. Než začnete s dalším projektem mikrokontroléru, vyplatí se strávit čas učením se o tomto hardwaru, abyste si udělali představu o omezeních a výzvách, kterým můžete na cestě čelit.