Ter um microcontrolador de reserva é recomendável quando o seu Arduino começa a se comportar de forma estranha e você quer se certificar que o problema está (ou não) no microcontrolador. Uma simples troca de chip pode poupar muitas horas de tentativa e erro para achar um problema no seu circuito. Neste post, vamos mostrar como gravar (ou regravar) o bootloader no ATmega328, deixando o chip como novo.

Você também pode precisar de um ATMEGA para montar o seu circuito definitivo, depois de ter feito todos os testes e ajustes no circuito montado na protoboard e estar satisfeito com o resultado.

Uma opção é você comprar o chip ATMEGA já com o bootloader, como nesse anúncio aqui. Confira também o post Montando Arduino na protoboard.

Outra opção, até como aprendizado, é utilizar o tutorial que vou apresentar e que utiliza o próprio Arduino e um ATMEGA328P-PU “vazio”, no qual vamos gravar o bootloader do Arduino Uno.

O que vamos utilizar e o que faremos

Vamos utilizar o seguinte material:

  • Arduino Uno
  • Chip ATMEGA328P-PU
  • Resistor de 10 K ohms
  • Cristal de 16 Mhz
  • 1 led
  • 1 resistor limitador de corrente para o led. No meu circuito, utilizei um de 330 ohms

O tutorial tem várias etapas, que vou detalhar, mas os passos principais podem ser divididos desta maneira:

Passos 1 a 3: Consistem na preparação do Arduino Uno como gravador ISP

Passos 4 a 9: Ligação do Arduino Uno ao ATMEGA328P-PU e gravação do bootloade

Não pule etapas ou inverta os passos. Os passos 1 à 3, que são a preparação do Arduino Uno, devem ser completamente finalizados antes de prosseguir com a gravação.

Preparação do Arduino Uno

Passo 1 – Carregue a IDE do Arduino. No menu Arquivo => Exemplos, escolha a opção ArduinoISP:

Seleção Sketch ArduinoISP

Passo 2 – Será aberta uma nova janela, com o sketch do ArduinoISP, o programa responsável pela gravação:

Sketch ArduinoISP

Passo 3 – Com a nova janela selecionada, pressione o botão CARREGAR, conforme destacado, e transfira o programa para o Arduino Uno, como normalmente você faz com outros programas:

Carregando sketch ArduinoISP no Arduino Uno

Essas 3 etapas encerram o processo de preparação do Arduino Uno. Vamos agora montar o circuito para gravação do ATMEGA, antes observando a pinagem do microcontrolador:

Pinagem ATMEGA328

Circuito para gravar o bootloader no ATmega328

Passo 4 – Monte o circuito seguindo o seguinte esquema:

  • Ligue o pino 1 (RST) do ATMEGA ao pino 10 do Arduino
  • Ligue o pino 17 (MOSI) do ATMEGA ao pino 11 do Arduino
  • Ligue o pino 18 (MISO) do ATMEGA ao pino 12 do Arduino
  • Ligue o pino 19 (SCK) do ATMEGA ao pino 13 do Arduino 
  • Ligue o led ao pino 7 do Arduino, juntamente com o resistor de 330 ohms
  • Ligue um resistor de 10 K ao pino 1 (RST) do ATMEGA, e a outra extremidade do resistor ligue no Vcc 5V do Arduino
  • Ligue o pino 20 do ATMEGA ao Vcc 5v
  • Ligue o pino 22 do ATMEGA ao GND
  • Ligue o pino 7 do ATMEGA ao Vcc 5v
  • Ligue o pino 8 do ATMEGA ao GND
  • Nos pinos 9 e 10 (Clock) do ATMEGA, conecte o cristal de 16 Mhz

Seu circuito deve ficar mais ou menos assim:

gravar bootloader atmega328 arduino Uno R3

Passo 5 – Conecte o Arduino UNO ao computador. Na janela da IDE do ArduinoISP, vá em Ferramentas => Placa e escolha a opção Arduino UNO, que é o bootloader que desejamos gravar no ATMEGA:

Bootloader Arduino

Passo 6 – No menu Ferramentas, escolha a opção GRAVADOR e selecione Arduino as ISP:

Seleciona gravador ISP
Seleciona gravador ISP

Passo 7 – Para iniciar a gravação, vá em Ferramentas e selecione Gravar Bootloader:

Seleção gravar bootloader

Passo 8 – O processo de gravação será iniciado, e você pode acompanhar o andamento na parte inferior da IDE, e também pela sinalização do LED ligado à porta 7, que ficará aceso durante o processo de gravação:

Processo de gravação do bootloader em andamento

Passo 9 – Finalizado o processo, que geralmente é rápido (no meu equipamento demorou menos de 1 min), é apresentada a mensagem mostrando que a gravação foi bem sucedida:

Gravar bootloader no ATMega328 - Processo finalizado

Isso encerra o tutorial de como gravar bootloader do ATmega328 com Arduino. O ATMEGA está agora gravado com o bootloader para Arduino Uno, e pode ser testado na própria placa ou utilizado para montar um circuito definitivo. Para ver um exemplo de utilização, veja o artigo Montando Arduino na protoboard.


Fonte: 

https://www.arduinoecia.com.br/gravando-bootloader-no-atmega328-com-arduino/