Neste artigo, vamos ver como programar um Attiny85 com Arduino UNO, sem necessidade de um programador AVR externo.
Preparar o IDE do Arduino
Em primeiro lugar, abrimos o IDE do Arduino e instalamos certos recursos para que reconheça os Attiny85, para isso vamos a Arquivo >> Preferências e abrimos Aditional Boards Manager URLs.
Na janela que se abre, escrevemos isto: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json e colocamos OK.
A seguir vamos a Ferramentas >> Placa >> Boards Manager e na barra de busca escrevemos “ATtiny”, quando nos aparece no ecrã colocamos INSTALAR.
Agora já podemos voltar a Ferramentas >> Placa e selecionar Attiny Repara na imagem como está configurado o IDE do Arduino para gravar um Attiny85:
- Placa: ATtiny
- Processador:ATtiny85
- Clock: 1MHz ou 8MHz (Internal) <– SIEMPRE INTERNAL SE NÃO USAR CRISTAL EXTERNO
- Programador: Arduino as ISP
E com isto já temos o IDE pronto, vamos ver como preparar o Arduino para gravar um Attiny85.
Configurar o Arduino UNO como ISP
Para configurar o Arduino UNO como ISP (In-System Programmer) apenas temos que instalar um pequeno programa que está na galeria de exemplos do IDE do Arduino. Carregamos esse exemplo e instalámo-lo no Arduino e com isto já está preparado.
Ligar o ATtiny85 ao Arduino UNO
Para ligar o ATtiny85 ao Arduino podemos usar este esquema como referência. Se quiser obter informação enquanto o Arduino UNO funciona como um programador ISP, pode ligar três leds aos pines 9 (POWER), 8 (ERRO) e 7 (PROGRAMAÇÃO). O led de POWER indica que a placa está a funcionar, o de ERROR vai-se acender quando exista algum problema e o led de PROGRAMAÇÃO indica-no quando o Attiny85 está a ser programado.
LED BLINK com ATtiny85
Agora já temos tudo pronto para escrever o nosso primeiro programa no Attiny85. Vamos testar o mais básico para começar carregando o exemplo BLINK do IDE do Arduino, mas como não trabalhamos com um Arduino mas com um Attiny85, vamos ter que alterar o número dos pinos no nosso código. Pode usar esta imagem como referência, em AZUL tem o número de cada pino.
No código de exemplo a seguir, alterou-se o pino 13 do Arduino pelo pino 0 do Attiny85.
/* Neste código de exemplo modificamos o pino 13 do Arduino pelo pino 0 do ATtiny85. */ void setup() { // initialize digital pin 0 as an output. pinMode(0, OUTPUT); } void loop() { digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(0, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Exemplo Blink com ATtiny85
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?