Neste tutorial vai aprender como gravar o bootlander num ATMega328P usando um Arduino UNO como programador ISP.
Nota: O bootlander é um conjunto de instruções que nos permitem aceder ao microcontrolador e usá-lo de forma simples sem ter que conhecer instruções demasiado avançadas.
Componentes necessários para montar o programador
1x Arduino UNO/NANO
2x Condensadores de 22pF
1x Oscilador 16MHz
1x BreadBorad
3x LEDs de cores (ou 1x RGB)
3x Resistencias de 330 Ohms (Para os 3 LEDs)
1x Resistencia 10K (Para o pino 1 do ATMega328P)
Cabos para protoboard
Método #1: Arduino UNO como programador ISP
Este método é o mais simples, apenas temos que carregar no nosso Arduino o exemplo “ArduinoISP” do IDE de Arduino, isto vai configurar a placa como um programador ISP. Para localizar este exemplo repare na seguinte imagem:
Quando carregarmos o exemplo “ArduinoISP” no Arduino já podemos realizar as seguintes ligações na protoboard:
O led verde vai-nos indicar que chega alimentação ao Arduino, o led amarelo indica quando o ATMega328P está a programar e o led vermelho indica-nos se há algum erro.
Note que intercalamos uma resistência de 10k no pino 1 (RESET) para que detete HIGH sempre, senão fizermos isso, o microcontrolador vai-se reiniciar em laço e como pode perceber, isto não nos interessa.
O oscilador não tem polaridade, podemos montá-lo de lá para cá indistintamente.
Quando fizermos as ligações, temos que programar um ATMega328P, para isso selecionamos as seguintes opções no IDE de Arduino:
Placa: Arduino/Genuino UNO
Porta: A porta onde ligou o Arduino UNO
Programador: Arduino como ISP
E finalmente já podemos carregar em “Queimar Bootloader” (em português), marcado em azul na imagem. Se todos os passos foram seguidos corretamente o led verde vai-se iluminar e após uns segundos vai acender o amarelo (enquanto se carrega o bootloader), passados uns segundos o led amarelo deixará de se acender e teremos o ATMega328P pronto para ser usado.
NOTA: Se se acende o led vermelho é porque ocorreu um erro durante a leitura, teste as ligações e volte a tentar.
Método #2: Arduino UNO com OptiBoot
O OptiBoot é um bootloader alternativo e 100% compatível com o que vem pre-carregado por defeito no Arduino.
Para instalar este bootloader, descarregamos o paquete a partir do GitHub e descomprimimos o arquivo “optiLoader.h” numa pasta chamada “OptiLoader” dentro da pasta Livrarias do IDE do Arduino, no nosso caso fica assim:
C:\Program Files (x86)\Arduino\livrarias\OptiLoader\optiLoader.h
A seguir, podemos abrir o arquivo “optiLoader.ino” e fazer upload ao nosso Arduino UNO.
DESCARREGAR OPTILOADER A PARTIR DESTE GITHUB
De seguida, realizamos todas as ligações deste esquema, são as mesmas que o método anterior mas podemos prescindir do circuito dos leds já que não os vamos usar.
A vantagem de usar este segundo método é que o Arduino UNO é que fica como programador de ATMega328P automático, para programar outro ATMega apenas temos que reiniciar por um vácuo e carregar o botão de reset do Arduino. Não é necessário ter o Arduino UNO conectado ao PC nem interagir com o IDE de Arduino para nada. Cada vez que pressionamos reset o Arduino UNO instala o bootloader no ATMega que está ligado, assim é fácil.
Todos os produtos utilizados neste artigo podem ser encontrados na Loja de Eletrónica e Robótica – ElectroFun.
Gostaram deste artigo? Deixem o vosso comentário no formulário a baixo e partilhem com os vossos amigos.
Não se esqueçam de fazer like na nossa Página no Facebook.
Podem ainda colocar as vossas dúvidas no nosso Forum da Comunidade Arduino em Portugal ou no nosso Grupo no Facebook Arduino Portugal – Qual o teu projeto?