No post de hoje vamos ver como programar o ATtiny85 com gravador USBasp usando a IDE Arduino. O microcontrolador ATtiny85 é uma boa opção para o seu projeto quando você tem um pequeno número de portas para controlar, por exemplo para acionar um relé e/ou ler dados de sensores.
Nosso primeiro contato com o Gravador AVR USBasp foi quando usamos o gravador para programar um ATMega328P-PU, o mesmo microcontrolador usado no Arduino Uno. Hoje vamos usar esse mesmo esquema para programar o Attiny85.
Com 8 KB de memória flash e 512 bytes de EEPROM, este microcontrolador AVR de 8 bits tem 6 portas digitais das quais 4 podem ser usadas como portas analógicas, al[em das interfaces de comunicação SPI e I2C.
Instalando o driver do gravador USBasp no Windows 10
Nos testes estamos usando uma máquina com Windows 10 64 bits, então vamos ver como instalar os drivers para esse sistema operacional.
A instalação é bem simples e você pode baixar neste link os drivers para o gravador USBasp no Windows 10 (créditos: Protostack).
Descompacte o arquivo e rode o InstallDriver.exe. Depois do tradicional “next -> next”, se tudo estiver ok o driver estará instalado:
Para verificar se realmente está tudo funcionando corretamente, plugue o seu gravador na porta USB e confira no Device Manager se o USBasp foi detectado, conforme imagem abaixo:
Finalizada a instalação dos drivers, vamos para a configuração da IDE Arduino.
Configurando a IDE Arduino para o ATtiny85
Abra a IDE Arduino e no menu Arquivo -> Preferências coloque o seguinte endereço no campo URLs Adicionais para Gerenciadores de Placas:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Sua tela deve ficar assim:
Clique em OK e acesse o menu Ferramentas -> Placa – Gerenciadores de placas:
No Gerenciador de Placas digite attiny no campo superior e selecione attiny by David A. Mellis, clicando em seguida em Instalar:
Volte para o menu Ferramentas -> Placas e verifique que os microcontroladores da linha ATtiny aparecem na lista. Selecione o ATtiny25/45/85:
Configure corretamente o microcontrolador que estamos usando conforme a imagem abaixo (ATtiny85, clock de 8 MHz) além do programador USBasp:
Vamos agora realizar a conexão do ATiny85 com o gravador USBasp e testar a programação do microcontrolador.
Conexão do ATtiny85 com gravador USBasp
A conexão do microcontrolador com o USBasp usa apenas 6 pinos e não necessita de nenhum componente adicional para os testes básicos.
Na imagem abaixo temos do lado esquerdo a configuração dos pinos do nosso gravador e na direita a pinagem do ATtiny85, com destaque para a conexão ISP que vamos usar:
Assim basta conectar os pinos correspondentes. Adicionei um led que vamos utilizar no programa de testes:
Revise as conexões antes de conectar o seu gravador na porta USB, certificando-se de que os pinos sejam iguais ao esquema mostrado acima. Caso necessário, faça as devidas adaptações, ok?
Programando o microcontrolador ATtiny85 com gravador USBasp
Agora vem a parte mais fácil, que é transferir o programa para o ATtiny85.
Vamos usar o bom e velho Blink, o programa de exemplo da IDE Arduino que envia comandos para que um led pisque em intervalos determinados.
//Programa: Pisca led com ATtiny85 //Autor: Arduino e Cia void setup() { //Define o pino 5 (PB0) do ATtiny85 como saida pinMode(0, OUTPUT); } void loop() { //Acende o led digitalWrite(0, HIGH); //Aguarda 100ms segundo delay(100); //Apaga o led digitalWrite(0, LOW); delay(100); }
Carregue o programa como você faz normalmente na IDE Arduino. Em poucos segundos o led conectado no pino 5 do ATtiny85 começa a piscar, indicando que a programação foi feita com sucesso.
Gostou? Confira outros posts com ATtiny85 e Digispark aqui mesmo no Arduino e Cia!