Começando com o ATtiny85

Começando com o ATtiny85 2

Neste post, conheceremos o chip ATtiny85, um microcontrolador extremamente pequeno, versátil e acessível. Veremos suas principais funcionalidades, como programá-lo utilizando a Arduino IDE e um projeto onde esse componente é mais adequado do que um Arduino.

Chip ATtiny85

Características do chip ATtiny85

Começando com o ATtiny85

O chip ATtiny85 não precisa de nenhum componente externo para ser utilizado, basta alimentá-lo com 5V e está pronto para usar. Abaixo estão algumas das funcionalidades disponibilizadas pelo microcontrolador e os pinos responsáveis:

  • PWM: pinos D0, D1, D3 e D4;
  • Entrada Analógica: pinos D2 (A1), D3 (A3) e D4 (A2);
  • Interrupções Externas: D2(INT0);
  • I²C: D0 (SDA) e D2(SCL);
  • SPI: D0 (MOSI), D1 (MISO) e D2 (SCLK).

O microcontrolador não possui interface serial nativa, contudo é possível utilizar a biblioteca SoftwareSerial para emular portas seriais em pinos digitais.

Programação com Arduino Uno

O ATtiny85 pode ser programado conectando seus pinos 3 e 4 às conexões de dados + e – de um cabo USB e seguindo as instruções do post Gravação na Lilytiny usando porta USB. Entretanto, a programação do microcontrolador por intermédio de um Arduino Uno é mais prática. Para isso basta seguir os passos abaixo:

  1. Carregue no Arduino Uno o sketch exemplo Arduino ISP. Para isso, na IDE do Arduino vá em Arquivo → Exemplos → ArduinoISP.
  2. Agora é preciso instalar o microcontrolador ATtiny85 na IDE. Vá em Arquivo → Preferências e adicione o seguinte URL na área URLs Adicionais de Gerenciadores de Placas: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
  3. Vá em Ferramentas → Placa → Gerenciador de Placas, busque por attiny e instale.
  4. Agora, vá em Ferramentas → Placa → ATtiny Microcontrollers → ATtiny25/45/85. Ainda em Ferramentas, vá em Processador → ATtiny85, Programador → Arduino as ISP, e em Portas selecione a porta COM em que o Arduino está conectado.
  5. Basta conectar o Arduino e o ATtiny conforme o esquema abaixo e carregar o código desejado normalmente.
Arduino ATtiny85
GND GND
5V 5V
D13 D2
D12 D1
D11 D0
D10 RST

Projeto Exemplo: Apertador de Botão

Alguns dispositivos exigem que um botão seja apertado toda vez que é ligado para ativá-lo. Você poderia apertar você mesmo esse botão, mas não seria mais legal fazer o ATtiny apertar por você? Normalmente não utilizamos um Arduino para realizar uma tarefa tão simples, mas como o ATtiny é bem mais barato e simples pode ser usado tranquilamente para problemas como esse.

Materiais Necessários

Utilizaremos os seguintes materiais para construção desse projeto:

Montagem do Circuito

A montagem deve ser feita conforme a imagem abaixo. Caso não funcione, basta inverter a conexão dos terminais do botão no optoacoplador.

Esse circuito pode ser facilmente replicado em um pequeno pedaço de placa perfurada e instalado em um equipamento para exercer a função desejada.

Código

Para o exemplo proposto, o código abaixo deve ser carregado no ATtiny85. Basta definir o pino onde o optoacoplador está conectado e o tempo que o botão deve permanecer pressionado em milissegundos.

/*
#--------------------------#
|       Apertador  de      |
|           Botão          |
|       Ítalo  Coelho      |
#--------------------------#
*/

#define OPCpin 0          //Pino onde o optoacoplador esta conectado
#define TempoAperto 1000  //Tempo que o botão deve permanecer "apertado"

void setup() 
{
  pinMode(OPCpin, OUTPUT);
  
  digitalWrite(OPCpin, HIGH);
  delay(2000);
  digitalWrite(OPCpin, LOW);
}

void loop() 
{
  //vazio
}

Ainda restam pinos livres do microcontrolador que podem ser usados para incrementar a funcionalidade do projeto para o caso específico em que for empregado.

Conclusão

Para projetos onde poucos pinos de entrada e saída são necessários, o ATtiny é uma excelente alternativa a uma placa Arduino com um ATmega328P (o microcontrolador do Arduino), já que é menor, mais barato e não necessita de nenhum componente externo para ser utilizado.

Apesar de se destacar em projetos mais simples, pode ser usado em projetos com funcionalidades mais elaboradas como podemos ver no post “Criando um leitor RFID Bluetooth com ATtiny85”.

Faça seu comentário

Acesse sua conta e participe

2 Comentários

  1. Ótimo projeto, a explicação ficou muito clara….👍👍👍

    1. Valeu, Leonardo! Que bom que gostou.