fbpx
ArduinoAttiny85 - DigisparkNovidade

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.

A figura mostra um foto real tirada do microcontrolador ATtiny 85
Figura 1 – Microcontrolador ATtiny 85

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.

A figura mostra uma ilustração com o microcontrolador ATtiny 85, onde é indicado o nome de cada pino
Figura 2 – Pinos do microcontrolador Attiny85

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

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.

A Figura ilustra o esquematico de ligação do circuito para realiza o bootloader no Attiny85
Figura 3 – Circuito para gravação do Bootloader no Arduino UNO

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

  1. 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.

A figura mostra uma captura de tela da Arduino IDE, onde o foco é mostrar o caminho que deve ser seguido para acessar o exemplo do Arduino ISP.
Figura 4 – Caminho de acesso ao código exemplo Arduino ISP.

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.

A figura mostra uma captura de tela da Arduino IDE, onde é indicado o caminho para mudar a placa de envio do código para "Arduino UNO
Figura 5 – Seleção da placa Arduino UNO

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.

A figura mostra uma captura de tela indicando a compilação e envio do código exemplo para o microcontrolador Arduino UNO
Figura 6 – Upload do código para o Arduino UNO

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).

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

A imagem mostra uma captura de tela do caminho que deve ser seguido para acessar as preferências na Arduino IDE.
Figura 7 – Opção Preferências no Arduino IDE
A imagem mostra uma captura de tela, incidicando o local em que deve ser colado a  URL mostrada acima
Figura 8 – Atualização do gerenciador de placas no Arduino IDE

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.

A imagem mostra uma captura de tela onde é mostrado o caminha para que seja instalada a placa do Attiny85 na Arduino IDE
Figura 9 – Instalando o Attiny no Arduino IDE

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.

A figura mostra uma captura de tela na Arduino IDE que indica que a placa do microcontrolador ATTINY 85 foi instalada corretamente
Figura 10 – Placas Attiny instaladas.

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.

A figura mostra uma captura de tela, onde é indicado como selecionar a placa Attiny 25/45/85 na Arduino IDE
Figura 11 – Seleção da placa Attiny85

   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 figura mostra uma captura de tela onde é indicado o caminho para alterar o tipo de placa attiny que está sendo utilizada, no caso desde tutorial está sendo utilizada a placa 85, logo é a que deve ser selecionada
Figura 12 – Seleção do processador da placa Attiny.

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.

A figura mostra a captura de tela onde é indicado o caminho que deve ser seguido para altera o cloca em MHZ do microcontrolador Attiny
Figura 13 – Configuração do clock

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.

A figura mostra uma captura de tela indicando como alterar o modo de funcionamento do Arduino para ISP na Arduino IDE.
Figura 14 – Programador modo Arduino ISP

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.

A figura mostra uma captura de tela indicando o caminho a ser seguido para selecionar a opção "Gravar bootloader" na Arduino IDE
Figura 15 – Opção Gravar Bootloader

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.

Jonas Souza

Graduando em Engenharia Elétrica.