O ATmega328P é um dos microcontroladores DIY mais populares do mundo. Este microcontrolador de chip único é uma boa escolha para quem se aventura na eletrônica DIY e é encontrado na última geração do Arduino Unos (junto com outras placas de microcontrolador). Mas o que você precisa saber sobre o ATmega328P antes de começar a usar seu Arduino?

O que é um microcontrolador ATmega328P?

Criado pela Atmel, o ATmega328P é um microcontrolador de chip único baseado em um núcleo de processador RISC de 8 bits. Este pequeno microcontrolador é de baixa potência e acessível, tornando-o uma excelente escolha para várias aplicações, incluindo os projetos de bricolage que você deseja fazer.

O chip ATmega328P tem sido apresentado como uma parte proeminente do Arduino por muitos anos. O Arduino Uno utiliza este microcontrolador, juntamente com as placas Arduino Pro Mini e Arduino Nano. Isso o torna extremamente comum no espaço de eletrônica de bricolage, e vale a pena aprender sobre seus recursos se você planeja usar essas placas.

instagram viewer

Placas Arduino usando o microcontrolador ATmega328P

Crédito da imagem: Loja do Arduino

O ATmega328P é encontrado nas placas microcontroladoras Arduino Uno e Arduino Nano, dois dos produtos mais populares da Arduino. Você também pode comprar este chip como um produto independente se quiser testá-lo sem uma placa microcontroladora, embora essa seja uma maneira desafiadora de começar. Você pode usar nosso guia prático para aprender sobre o diferentes tipos de placas de microcontrolador Arduino.

Especificações da folha de dados ATmega328P

O ATmega328P tem uma folha de dados surpreendentemente densa para um chip tão pequeno. Há uma série de especificações a serem observadas antes de começar a escrever código para seu microcontrolador. Nós os dividimos para facilitar a compreensão das limitações e restrições deste chip. Vamos começar com as especificações básicas para dar uma ideia de como o ATmega328P se comporta.

  • CPU: AVR de 8 bits com velocidade máxima de 20MHz
  • Memória flash: Flash integrado de 32kB
  • SRAM: 2kB
  • EEPROM: 1kB
  • Número de pinos: 28 ou 32 (dependendo do tipo de embalagem)
  • Canais de toque capacitivo: 16
  • Pinos máximos de E/S: 23
  • Interrupções externas: 2

Cada uma dessas diferentes especificações desempenha seu próprio papel em tornar o ATmega328P tão adequado para uso com placas de desenvolvimento como um Arduino. Mas o que isso realmente significa?

  • CPU: A CPU no chip ATmega328P é uma CPU baseada em AVR RISC de 8 bits. RISC significa "computador com conjunto de instruções reduzido" e é um tipo de processador projetado para simplificar as tarefas individuais que um computador executa. Por outro lado, a CPU Intel ou AMD do seu PC é provavelmente um processador CISC (complex Instruction Set Computer).
  • Memória flash: Flash é um tipo de memória não volátil usada para armazenamento permanente. O ATmega328P está equipado com apenas 32kB de memória flash, embora isso seja suficiente para muito código. Você pode aprender sobre as diferenças entre memória volátil e não volátil no site da MU.
  • SRAM: SRAM significa "memória de acesso aleatório estático". Essa memória desempenha o mesmo papel que a RAM do seu PC, fornecendo ao chip ATmega328P memória temporária para armazenar dados e variáveis ​​à medida que ele é executado no código.
  • EEPROM: Este é um tipo de memória apagável de byte usada para armazenar pequenas quantidades de dados. Ao contrário da SRAM, a EEPROM não é volátil e reterá seus dados quando o chip ATmega328P não estiver ligado.

Diagrama de pinagem ATmega328P

O diagrama de pinagem ATmega328P acima mostra os diferentes pinos no chip DIP ATmega328P e os pinos em uma placa Arduino Uno. Isso deve lhe dar uma boa ideia de como esse chip e a popular placa microcontroladora funcionam juntos.

O ATmega328P é um chip versátil com uma variedade de aplicações. Como tal, vários pacotes diferentes estão disponíveis para este chip, todos em diferentes formas e com vários tipos de chumbo. TQFP (pacote quad-flat), MLF/VQFN (micro leadframe ou quad-flat no-leads) e DIP (pacote duplo em linha) são os mais comuns desses pacotes.

Placas Arduino Uno genuínas usam a variante DIP do chip ATmega328P (também conhecido como ATmega328P-PU), e isso significa que o chip pode ser removido e substituído (ao contrário do ATmega328P-AU). Outros tipos de placas Arduino usam diferentes chips ATmega do tipo quad-flat e estes não podem ser removidos.

Limitações do ATmega328P e do Arduino Uno

Como acontece com qualquer chip microcontrolador, o ATmega328P vem com certas limitações que devem ser consideradas antes de você decidir trabalhar com ele. Essas limitações também se aplicam às placas Arduino que usam esses chips.

Baixo orçamento de SRAM

O chip ATmega328P vem com 2kB de SRAM, e isso é suficiente para a maioria dos projetos. Para aqueles que desejam usar várias bibliotecas e códigos com muitas variáveis, no entanto, pode ser fácil ficar sem SRAM, fazendo com que seu programa falhe.

Os programadores que trabalham com placas Arduino têm muito controle sobre o gerenciamento de memória graças ao uso de C++. Texto, imagens e outros ativos pré-fabricados podem ser armazenados em memória flash como forma de liberar memória adicional para os programas que você está executando, melhorando seu orçamento de SRAM.

Poder de Processamento Limitado

A CPU de 20Hz encontrada no chip ATmega328P é ótima para executar código simples, mas oferece poder de processamento limitado para aplicativos complexos. Isso significa que não é adequado para coisas como reconhecimento de fala, aprendizado profundo ou outras tarefas comuns de microcontroladores.

Resolver este problema não é possível com o ATmega328P. Se você precisar de mais energia, precisará procurar uma placa microcontroladora mais adequada para a tarefa que deseja. gostaria de realizar, mas há muitas opções no mercado para lhe dar acesso ao que você precisa.

Vantagens ATmega328P e Arduino Uno

Além das limitações do ATmega328P, também existem vantagens com o uso de um chip como este. Isso geralmente supera as limitações do microcontrolador para projetos simples, especialmente se você é novo no trabalho com microcontroladores.

  • Acessibilidade: O chip ATmega328P é acessível e fácil de encontrar, tornando-o ideal para projetos DIY de baixo custo. Graças ao grande valor deste chip, o Arduino Uno também é uma placa muito acessível.
  • Fácil de usar: Feito com os consumidores em mente, o ATmega328P é fácil de usar em comparação com outros chips microcontroladores, tornando-o ideal para quem está começando seus próprios projetos de bricolage.
  • Chip autônomo: O chip ATmega328P pode ser usado sozinho ou com uma placa microcontroladora como o Arduino Uno.

Aprendendo sobre o ATmega328P e Arduino Uno

Existem muitos recursos na web projetados para ajudá-lo a começar a usar o Arduino Uno e o ATmega328P que ele usa. Vale a pena gastar tempo aprendendo sobre esse hardware antes de iniciar seu próximo projeto de microcontrolador, dando a si mesmo uma ideia das limitações e desafios que você pode enfrentar ao longo do caminho.