Arduino

Reduza seu projeto Arduino com um Attiny85

Escrito por: ­ 21 de out de 2016 ­ 5.849 views

Muitos projetos feito em Arduino utilizam somente alguns pinos, com isso você acaba “gastando” o seu Arduino de uns 20 pinos (no caso do UNO) para uso efetivo de somente uns 4 ou 5.
O Arduino por si só não é muito grande, mas as vezes você não consegue, por exemplo, “hackear” um brinquedinho, colocando LEDs, comando de voz e motorzinhos, ou fazer um sistema de irrigação, iluminação para aquário e os famosos paper circuits, etc…
A seguir veremos algumas maneiras, muito simples, de reduzir o seu projeto, tanto em tamanho, quando em preço ($$).

A parte mais interessante desse processo é que continuaremos utilizando o Arduino (placa e IDE), além, é claro o nosso protagonista, o microcontrolador Attiny85.


O que é o Attiny85

O Attiny85 é um microntrolador da Atmel que possui 8 pinos, sendo 2 para energia (5v e Gnd), 1 reset e 5 I/O (entradas e saídas)
Os 5 pinos por vez temos, entradas analógicas, PWM, digital, ou seja, diversão garantida.
Ele possui voltagem de apenas 2,7 – 5,5v, logo, uma bateria CR3032 já será suficiente para garantir o funcionamento do seu projeto.

Nosso objetivo não é o aprofundamento em detalhes técnicos, caso haja curiosidade acesse o Datasheet do Attiny link.attiny85-esquema_pt

A primeira coisa que se deve fazer é identificar a posição do Attiny85. Ele possui um indicador, no formato de um círculo.
Essa identificação é muito importante, pois há risco de curto-circuito na montagem (experiência própria – 😥 ).

Os pinos de trabalho são 0, 1, 2, 3, 4 (5pinos) (padrão); Pode ser modificado o pino 1 (reset) que será o Pino 5 para programação)

Pino do Attiny85 Função Pino Digital Pino Analógico
1 Reset*
2 I/O 3 A3
3 I/O e PWM 4 A2
4 Ground
8 Voltagem
7 I/O 2 A1
6 I/O e PWM 1
5 I/O e PWM 0

O pino 1, pode ser convertido em I/O (pino de entrada e saída), porém ele deixa de ser programado via ISP.
Você precisará de um programador de alta-voltagem para resetar o pino, novamente.

Em um outro tutorial iremos tratar esse tema, gravando o bootloader para funcionamento igual ao Digispark da Digistump.


O que você vai precisar?

Placa Arduino/Genuino/Clone Uno, Nano e Duemilanove (1) – testamos nesses modelos, mas é possível em vários outros.
Breadboard (1)
Capacitor de 10µF (1)
Cabos (alguns)
LEDs (para teste)
Resistores 220 Ω. (para os LEDs)


Como ligar o Attiny na sua placa Arduino/Genuino:

Através do Arduino é possível utilizar a função ISP (In-system Programmer), onde nós utilizaremos o Arduino para gravar o Attiny85.
A ligação é muito simples, veja o esquema abaixo feito no Fritizing:

Pino Attiny85 Pino Arduino
8 5v
7 13
6 12
5 11
1 (Reset) 10
4 Ground

 

Capacitor
Reset (+) Gnd (-)

attiny85-arduino-projeto-reduzido-hackeduca-hack3educa


Preparando a sua IDE do Arduino

Primeiramente, retire o Capacitor (Ground e Reset) instale o programa ArduinoISP, para que o Arduino esteja habilitado para gravar o Attiny85.
Na imagem abaixo há o processo detalhado, siga os passos: 1, 2 e 3
attiny85-arduino-projeto-reduzido-hackeduca-hack3educa

attiny85-arduino-projeto-reduzido-hackeduca-hack3educa attiny85-arduino-projeto-reduzido-hackeduca-hack3educa

Coloque o Capacitor (Ground e Reset) novamente


Incluindo o chip Attiny85 na IDE do Arduino

Com o Arduino preparado, você precisará instalar o chip na IDE do Arduino para que a gravação seja igual a uma placa.
Na criação deste post, a versão mais atualizada do Arduino era a 1.6.12, mas testamos em outras e funcionou de maneira igual.

Siga os seguintes passos:

[Arquivo] -> [Preferências]

Copie o endereço abaixo e cole em: [URLs Adicionais de Gerenciadores de Placas]:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Após este processo o Arduino ficará desta maneira:

Arduino Isp Sketch Add Address

 

O próximo passo será instalar a placa Attiny85:
Passos 1, 2 e 3:

attiny85-arduino-projeto-reduzido-hackeduca-hack3educa
Passos 1 e 2:

attiny85-arduino-projeto-reduzido-hackeduca-hack3educa
Se tudo correu bem, você verá o nome do Attity25/45/85, logo abaixo:
attiny85-arduino-projeto-reduzido-hackeduca-hack3educaLogo após esse processo selecione o chip que você possui:

attiny85-arduino-projeto-reduzido-hackeduca-hack3educa

O Clock deverá se o Interno (Internal) e neste primeiro momento deixe com 1MHz.


Gravando o Attiny85

No programa você irá testar os três pinos PWM 3, 7 e 8 (que são o 0, 1 e 4), e os demais pinos digitais.

Copie o código abaixo:

/*
  Attiny85 - PinTest
  Test PWM pins 0,1,4
  Test blinking pins from 2 and 3.

  This example code is in the public domain.

  created on 20 Oct 2016
  by Edson Sobreira
  for http://hackeduca.com.br

*/

//---------------------------------------
void setup() {                
  // Inicializa os 5 pinos
  pinMode(2, OUTPUT); 
  pinMode(3, OUTPUT); 
  pinMode(4, OUTPUT);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT); 
     
}
void loop() {
//Teste para os pinos PWM
//---------- Pino 0 -------------------
for (int i=0; i<=255; i+=5)
{
  analogWrite(0, i);
  delay(50);
}
//---------- Pino 1 --------------------
for (int i=0; i<=255; i+=5)
{
  analogWrite(1, i);
  delay(50);
}  
//---------- Pino 4 --------------------
for (int i=0; i<=255; i+=5)
{
  analogWrite(4, i);
  delay(50);
}  
//---------- Pino 2 e 3 --------------  

digitalWrite(2, HIGH);
digitalWrite(3, HIGH);

delay (1000);

digitalWrite(2, LOW);
digitalWrite(3, LOW);

}

Se você seguiu todos os passos acima, é só gravar o programa no Attiny85 e ao final do processo aparecerá a informação de Carregado  🙂

attiny85-prog_ok

O seu Attiny85 já pode ser utilizado.
Veja o exemplo que montamos:

attiny85-arduino-projeto-reduzido-hackeduca-hack3educa

 

Nossa área de trabalho:

attiny85-arduino-projeto-reduzido-hackeduca-hack3educa

Nosso projeto Final:

print
Previous Post Next Post

Você também pode gostar / You Might Also Like

3 Comments

  • Reply Bertacio Mário Machado 14 de set de 2017 at 18:56

    Hackeduca, gostei muito das vossas dicas, com esse pequeno artigo deu para saber um pouco do Attiny 85.
    Tenho um projeto a fazer com esse microcontrolador, automatizar uma residencia, queria que me dessem mais dicas como posso fazer e quais são os componentes que vou precisar para fazer o projeto.
    Agradeceria a vossa ajuda.

    • Reply Edson Sobreira 14 de set de 2017 at 21:49

      Olá Bertacio, depende do tipo de automatização que você deseja.
      Há inúmeros tipos, como Wifi (não seria possível usar o Attiny), por Bluetooth (é possível a utilização e há alguns artigos explicando o procedimento) ou mesmo usando sensores (temperatura, luz, unidade, relé, etc…)
      O Attiny85 é bastante limitado, mas em teoria qualquer sensor poderia funcionar com ele, considerando que há somente 5 pinos utilizáveis e 1 que pode ser convertido (reset).
      Boa sorte pra você em seu projeto.

  • Reply Valdir 9 de ago de 2019 at 16:36

    Parabéns pelo artigo!
    O uso de timers e interrupções no Attiny é tão fácil quanto no arduino Uno/Nano/Mega?
    Grato,
    Valdir

  • Leave a Reply

    Show Buttons
    Siga-nos no Facebook
    Siga-nos no Twitter
    Siga-nos no Google Plus
    Siga-nos no Pintrest
    Siga-nos no Youtube
    Siga-nos no Scratch
    Hide Buttons
    Top
    HackEduca