O ATtiny85 é um pequeno microcontrolador de 8 bits projetado para tarefas simples de controle onde espaço e consumo de energia são importantes. Ele combina memória, temporizadores, entrada analógica e comunicação serial em um pacote de 8 pinos. Este artigo fornece informações detalhadas sobre suas especificações, pinout, estrutura interna, configurações de energia e clock, programação, circuitos e questões comuns.

Visão geral do ATtiny85
O ATtiny85 é um microcontrolador compacto de 8 bits projetado para tarefas simples de controle onde espaço, consumo de energia e número de componentes devem ser mantidos baixos. Seu formato de 8 pinos ajuda a reduzir o tamanho do circuito, a complexidade da fiação e o custo do sistema, ao mesmo tempo em que oferece funcionalidade básica de controle.
Apesar de sua longa presença no mercado, o ATtiny85 continua amplamente utilizado devido à sua estabilidade, forte documentação e compatibilidade com ferramentas comuns de desenvolvimento. Ele opera em uma ampla faixa de voltagem e suporta múltiplas opções de clock, tornando-o adequado para projetos compactos e de baixo consumo que exigem comportamento confiável e previsível.
Especificações Técnicas ATtiny85
| Não. de Pins | 8 |
|---|---|
| CPU | AVR RISC 8-Bit |
| Tensão de Operação | 1,8 a 5,5 V |
| Memória do Programa | 8K |
| Tipo de Memória do Programa | Flash |
| RAM | 512 Bytes |
| EEPROM | 512 Bytes |
| Número de canais ADC | 10-Bit 4 |
| Comparador | 1 |
| Pacotes | PDIP (8 Pinos) SOIC (8 Pinos) TSSOP (8 Pinos) QFN/MLF (20 Pinos) |
| Oscilador | até 20 MHz |
| Temporizador (2) | Temporizadores de 8 Bits |
| Energia Aprimorada ao Resetar | Sim |
| Temporizador de Energia | Sim |
| Pinos de E/S | 6 |
| Fabricante | Microchip |
| SPI | Sim |
| I2C | Sim |
| Relógio de Guarda | Sim |
| Detecção de apagão (BOD) | Sim |
| Reiniciar | Sim |
| USI (Interface Serial Universal) | Sim |
| Temperatura Mínima de Operação | -40 C |
| Temperatura Máxima de Operação | 125 C |
Configuração do Pinout ATtiny85

| Pin | Nome | Principais Funções |
|---|---|---|
| 1 | PB5 | RESET, GPIO (se o fusível for trocado) |
| 2 | PB3 | GPIO, ADC |
| 3 | PB4 | GPIO, ADC |
| 4 | GND | Campo |
| 5 | PB0 | GPIO, PWM, MOSI |
| 6 | PB1 | GPIO, PWM, MISO |
| 7 | PB2 | GPIO, ADC, SCK |
| 8 | VCC | Fonte de energia |
O ATtiny85 está disponível nos pacotes PDIP-8 e QFN/MLF-20. Ambos compartilham o mesmo circuito interno, mas o arranjo dos pinos é diferente. O pacote PDIP-8 expõe apenas pinos básicos e é mais fácil de usar em circuitos básicos, enquanto o pacote QFN/MLF-20 inclui pinos adicionais marcados como não conectados.
A maioria dos pinos suporta múltiplas funções. Um único pino pode atuar como entrada ou saída digital, ler sinais analógicos, gerar saída PWM ou suportar comunicação serial. Esse design multifuncional permite que o ATtiny85 permaneça pequeno enquanto oferece flexibilidade. O pino RESET também pode ser configurado como pino alterando as configurações do fusível, embora isso remova a capacidade de reset externo.
Diagrama de blocos ATtiny85

O ATtiny85 é construído em torno de um núcleo de processamento AVR que executa instruções armazenadas na memória Flash. A SRAM é usada para dados temporários durante a operação, enquanto a EEPROM armazena dados não voláteis que devem ser mantidos quando a energia é cortada. O contador de programa, o ponteiro de pilha e os registradores gerenciam o fluxo de instruções e o processamento de dados.
As funções de temporização são gerenciadas por dois temporizadores internos de 8 bits e um temporizador watchdog. O watchdog melhora a confiabilidade ao resetar o dispositivo caso a execução normal do programa parar. Um oscilador interno fornece o sinal de clock, e o controle centralizado de temporização sincroniza todos os módulos internos.
As operações de entrada e saída são gerenciadas por meio de registradores de porta conectados diretamente aos pinos externos. O dispositivo também integra circuitos analógicos, como o ADC e o comparador. Todos os blocos internos são conectados por caminhos de dados compartilhados, permitindo comunicação eficiente entre memória, lógica de processamento e E/S.
Configurações de energia, clock e fusíveis ATtiny85
• O ATtiny85 inclui um oscilador RC interno, permitindo operação sem componentes externos de clock.
• Fontes de relógio externas ou cristais podem ser usados quando maior precisão de temporização for necessária.
• Configurações de fusíveis controlam a fonte do clock, atraso de inicialização, nível de detecção de brown-out e comportamento do pino RESET.
• Operar em velocidades de clock mais baixas reduz o consumo de energia e o ruído elétrico.
• A detecção de queda de tensão melhora a estabilidade em tensões baixas, mas aumenta ligeiramente o consumo de corrente.
Limites do GPIO ATtiny85 e Operação Segura
• Pinos GPIO são destinados ao controle de sinal e não devem fornecer energia a cargas externas.
• LEDs conectados a pinos GPIO requerem resistores limitadores de corrente para evitar danos.
• Motores, relés e outros dispositivos de alta corrente devem ser controlados usando transistores externos ou MOSFETs.
• Resistores internos de pull-up podem ser ativados para simplificar as conexões de botões e comutadores.
• Todas as tensões do GPIO devem permanecer dentro dos limites especificados para evitar danos permanentes.
Capacidades ADC e Analógicas ATtiny85
| Característica | Descrição |
|---|---|
| Resolução ADC | 10-bit |
| Canais de entrada | Até 4 |
| Opções de referência | VCC ou referência interna |
| Modo especial | Sono de redução de ruído ADC |
O ATtiny85 possui um conversor analógico-digital embutido que mede níveis de voltagem variáveis e os converte em valores digitais. A qualidade da medição depende de uma tensão de referência estável, conexões de energia limpas e roteamento correto do sinal. O uso do modo de suspensão ADC Noise Reduction ajuda a reduzir o ruído interno durante a conversão, o que melhora a consistência da leitura e a confiabilidade geral.
Comunicação Serial ATtiny85 com o USI
O ATtiny85 suporta comunicação serial por meio de uma Interface Serial Universal (USI). Essa interface flexível pode ser configurada por meio de firmware para operar no modo SPI ou suportar comunicação no estilo I²C. Ao usar um único bloco de hardware compartilhado, o dispositivo mantém um tamanho compacto enquanto ainda permite a troca básica de dados.
Como o USI depende fortemente do controle por software, é necessário um gerenciamento cuidadoso do tempo. É adequado para tarefas simples e de comunicação de baixa velocidade, mas oferece menos recursos de automação do que periféricos SPI ou I²C dedicados encontrados em microcontroladores maiores.
Programação ATtiny85 pelo IDE Arduino

• O ATtiny85 pode ser programado no IDE Arduino após instalar um núcleo compatível com ATtiny.
• A programação é feita usando um programador USB ou um Arduino configurado como ISP.
• As configurações da placa no IDE Arduino devem corresponder à frequência de clock e tensão de operação selecionadas do ATtiny85.
• Os PINs usados no código são diferentes do layout físico dos pinos, portanto devem ser verificados cuidadosamente antes da fiação.
Circuito ATtiny85 Mínimo Confiável

Esse circuito utiliza apenas os componentes básicos necessários para uma operação estável. Os pinos VCC e GND fornecem energia, permitindo que a lógica interna funcione corretamente. O oscilador interno controla o tempo, então não são necessários componentes externos de clock.
Um LED conectado por um resistor de 47 Ω demonstra controle de saída enquanto protege tanto o LED quanto o pino GPIO. O pino RESET permanece acessível para reprogramação ou reinicialização do dispositivo. Com pouquíssimos componentes externos, essa configuração fornece uma base simples e confiável para aplicações básicas.
ATtiny85 Questões Comuns e Verificações Rápidas
| Problema | O que verificar ou corrigir? |
|---|---|
| Falhas no upload do código | Verifique a fiação do provedor e confirme a configuração do fusível de RESET |
| Tempo incorreto | Verifique a fonte de clock selecionada e a configuração do fusível |
| Leituras instáveis do ADC | Melhorar o aterramento e adicionar capacitores de desacoplamento adequados |
| Erros de comunicação | Revise as configurações de configuração e temporização do USI |
| Pirnos superaquecidos | Menor corrente de carga e uso de componentes externos de driver |
Conclusão
O ATtiny85 reúne recursos principais de controle de forma muito compacta. Suas especificações, funções de pinos, blocos internos e configurações de energia explicam como ele opera em circuitos reais. Com o manuseio adequado de GPIO, uso de ADC, configuração serial e um circuito mínimo, o ATtiny85 pode ser compreendido claramente e aplicado em projetos estáveis e de baixo consumo.
Perguntas Frequentes [FAQ]
Quanta energia o ATtiny85 consome?
O uso de energia depende da tensão da fonte, velocidade de clock e recursos ativos. Velocidades de clock mais baixas e a desativação de periféricos não utilizados reduzem o consumo de corrente.
O ATtiny85 precisa de um clock externo?
Não. O ATtiny85 possui um oscilador RC interno e pode operar sem componentes externos de clock. Um relógio externo é necessário apenas para maior precisão de tempo.
O pino RESET pode ser usado como um pino normal de I/O?
Sim. O pino RESET pode ser configurado como GPIO usando as configurações do fusível. Isso desativa a programação padrão do provedor de internet e exige programação de alta voltagem para reprogramar o dispositivo.
O ATtiny85 pode acionar motores ou relés diretamente?
Não. Os pinos GPIO ATtiny85 são apenas para controle de sinal. Motores e relés devem ser acionados por transistores externos ou MOSFETs.
Por que as leituras do ADC do ATtiny85 são instáveis?
Leituras instáveis do ADC geralmente são causadas por ruído de energia ou mau aterramento. Adicionar capacitores de desacoplamento adequados e usar o modo de redução de ruído ADC melhora a estabilidade.