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.

Programando o ATtiny85 com gravador USBAsp e IDE Arduino

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:

Instalação driver gravador USBasp no Windows 10

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:

Device Manager Windows 10 Gravador USBasp

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:

Gerenciador de placas IDE Arduino

No Gerenciador de Placas digite attiny no campo superior e selecione attiny by David A. Mellis, clicando em seguida em Instalar:

Gerenciador de Placas - driver attiny

Volte para o menu Ferramentas -> Placas e verifique que os microcontroladores da linha ATtiny aparecem na lista. Selecione o ATtiny25/45/85:

IDE Arduino - Microcontroladores ATtiny

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!

4.3/5 - (13 votes)