Como gravar o Bootloader para ATtiny85 com Arduino
O ATtiny85 é um microcontrolador AVR muito utilizado em projetos compactos relacionados as áreas de automação e robótica. Seu tamanho e baixo consumo de energia o torna uma excelente opção para projetos portáteis com dimensões reduzidas e sem a necessidade de muitas portas de comunicação.
O ATtiny85 possui 8KB de flash, um oscilador RC interno de 8MHz e 512 bytes de EEPROM e SRAM. Além disto, possui dois temporizadores de 8 bits, um de alta velocidade com quatro saídas de PWM e uma ADC de 10 bits de quatro canais.
Embora sua interface conte com apenas 8 pinos, o ATtiny85 pode executar quase todas as funções que um microcontrolador simples pode fazer. A Figura 2 detalha sua pinagem.
Uma vantagem do microcontrolador ATtiny85 é que ele é capaz de utilizar muitas das bibliotecas disponíveis na plataforma Arduino. Além disso, pode executar o Bootloader Arduino, facilitando sua programação visto que o código poderá ser carregado diretamente do Arduino IDE usando uma conexão USB.
O Bootloader é um código especial que permite a transferência da programação para o microcontrolador. O Bootloader é responsável por verificar se o computador está tentando enviar um código, aceitar o envio e armazenar o código em um local específico na memória do microcontrolador. Além disto, instrui o chip a executar o código já armazenado na memória.
Neste tutorial, detalharemos o passo a passo para a gravação do Bootloader do ATtiny85 usando uma placa Arduino UNO.
MATERIAIS NECESSÁRIOS
- 1x Placa Uno SMD R3 atmega328;
- 1x Cabo USB compatível com Arduino;
- 1x microcontrolador ATtiny 85 Atmel ATtiny 85;
- 1x Capacitor de 10 µF;
- 1x protoboard;
- Jumpers macho-macho.
ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES
Monte atentamente o circuito da Figura 3 utilizando os jumpers macho-macho, a placas UNO e a placa ATtiny85.
Ao montar o circuito observe os seguintes pontos:
- O processo de gravação do Bootloader ocorrerá via ISP (In System Programmer). Para tal, serão utilizados VCC, GND e quatro pinos de dados;
- Três pinos de dados conectam o MISO, MOSI e SCK entre o Arduino UNO e o ATtiny85;
- O quarto pino do Arduino UNO deve ser conectado ao pino RESET do ATtiny85;
- Para evitar que o Arduino UNO reinicie quando o avrdude abrir a porta serial utilizamos um capacitor conectado entro o RESET e o GND.
PROCEDIMENTO DE GRAVAÇÃO DO BOOTLOADER
- Abrir a Arduino IDE e abrir o código de gravação
Para gravar o Bootloader para o Arduino UNO, vamos utilizar um código exemplo já disponível no próprio Arduino IDE. Este código pode ser acessado através do seguinte caminho: Arquivo > Exemplos > 11.ArduinoISP > ArduinoISP), conforme a Figura 4.
2. Definir a placa que será usada
Logo após abrir, devemos selecionar a placa que iremos utilizar. Em nosso caso, iremos selecionar a placa Arduino UNO no menu Ferramentas > Placas, conforma a Figura 5.
3. Transferir o código para a placa conectada
Com a placa já definida, transfira o código para a placa Arduino UNO com Bootloader, conforme a Figura 6.
4. Instalar a placa ATtiny85 no Arduino IDE
Para instalar ATtiny será necessário atualizar o Gerenciador de Placas do Arduino IDE, que é bem simples. Para isso, Acesse Arquivo>Preferências (Figura 7). Em seguida, copie a URL abaixo na caixa de URLs adicionais para Gerenciadores de Placas, localizada no inferior da janela (Figura 8).
Em seguida, navegue até o Gerenciador de Placas através do caminho Ferramentas> Placa> Gerenciador de placas. No campo de pesquisa busque por ATtiny e instale o pacote clicando em “Instalar”, conforme Figura 9.
Depois que a instalação estiver concluída, um pequeno texto INSTALLED aparecerá ao lado da entrada. Agora você pode fechar o gerenciador de placas.
Para verificar se a instalação ocorreu corretamente acesse Ferramentas> Placas. Busque por Attiny microcontrollers, conforme Figura 10.
5. Selecionar a placa ATtiny
Logo em seguida, devemos selecionar a placa que desejamos gravar o Bootloader: O Attiny85. Para tal, será necessário acessar Ferramentas > Placa > ATtiny Microcontrollers > ATtiny25/45/85, conforme a Figura 11.
6. Configurar a placa ATtiny
Em seguida, será necessário realizar as configurações da placa ATtiny. A primeira configuração que deve ser feita é do tipo de processador ATtiny que estamos usando. Para isso, acessaremos Ferramentas > Processador e selecionaremos a opção ATtiny85, conforme a Figura 12.
A segunda configuração será para determinar o valor em MHz do Clock, em que selecionaremos a opção “Internal 8 MHz”, como na Figura 13.
7. Alterar o programador para o modo ISP
Para que o Arduino UNO consiga gravar o Bootloader no ATtiny85, precisamos alterar o modo Programador para “Arduino as ISP”. Para tal, acesse o menu Ferramentas > Programador, conforme Figura 14.
8. Realizar a gravação do Bootloader
Por fim, com tudo configurado, basta acessar no menu Ferramentas a opção Gravar Bootloader, conforme a Figura 15.
Será necessário gravar o Bootloader apenas uma vez. Após a gravação, você poderá programar sua placa ATtiny85 normalmente.
Espero ter ajudado,
Obrigado a todos e em caso de dúvidas deixe seu comentário abaixo!
Att. Jonas Souza
REFERÊNCIAS
ARDUINO. Arduino as ISP and Arduino Bootloaders. Disponível em: <https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP>. Acesso em: 05 out. 2022.
Graduando em Engenharia Elétrica.