Sei sulla pagina 1di 26

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

Conhecendo o ATtiny85 – Primeiros Passos


Precisa criar projetos pequenos e com baixo consumo energético? Neste tutorial vamos apresentar o
ATtiny85, um pequeno Microcontrolador (MCU) de 8 pinos, que pode ser programado pela Arduino IDE!

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

ATtiny85

Índice [Ocultar]

1 Conhecendo o ATtiny85 – Primeiros Passos


1.1 O ATtiny85
1.2 Características
1.3 Mapa de pinos
2 Instalando na Arduino IDE
3 Mãos a obra – Piscando o primeiro LED no ATtiny85
3.1 Componentes necessários
3.2 Montando o projeto
3.3 Código do projeto
3.4 Colando para funcionar
4 Entendendo a fundo
4.1 Software
5 Desa o
6 Fechamento
O ATtiny85 INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

Este pequeno MCU, apesar de ser inferior em relação ao desempenho quando comparado diretamente ao
existente em uma placa Arduino UNO (ATmega328P). O ATtiny85 é útil em diversos projetos, entre eles, os
portáteis, os de baixo consumo energético, os que utilizam poucos pinos, robôs e até em pequenos módulos
separados de uma central, que por sua vez, se comunicaria com o ATtiny85 através de I2C, SPI ou UART
(Serial), para controlar itens especí cos, como por exemplo, uma placa de reles.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

Características
Tensão: 1,8V a 5,5V.
Clock interno: 1MHz – 8MHz.
Flash: 8KB.
RAM: 512B.
EEPROM: 512B.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
Digital Pins: 6.
Analog Input (ADC): 4 canais de 10bit.
PWM: 3 canais de 8bit.
UART: 0.
I2C: 1.
SPI: 1.

Mapa de pinos

Pinagem do ATtiny85

Em muitos projetos simples que fazemos, não usamos nem metade dos pinos do Arduino UNO por exemplo.
Assim desperdiçando um imenso hardware. Quando pensamos em algo portátil, qualquer consumo
desnecessário é ruim ao projeto, porém, o ATtiny85 pode nos ajudar com isso.
Para efeitos de comparação, o Arduino UNO funcionando normalmente, consome aproximadamente ~50mA.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
Já o ATtiny85, consome aproximadamente ~1mA! Em relação ao Arduino UNO podemos melhorar isso
usando Sleeps, no entanto, devido a existência de um LED indicando que a placa esta ligada e a diversos
outros itens, portanto, mesmo com Deep Sleep, o Arduino UNO consome aproximadamente ~15mA. Já o
ATtiny85, por não conter nada além do MCU, no modo Deep-Sleep consome ~0,0001mA ou ~100nA! Seus
projetos portáteis irão melhorar muito na questão de autonomia, pois, é possível liga-lo com uma simples
bateria CR2032 que encontramos em placa-mãe de CPUs.

Um dos problemas mais comuns é a falta dos pinos físicos de UART ,logo, se você for usar o Serial Monitor
para algum debug ou até a comunicação com outros MCUs via UART (Serial), será necessário o uso da
Software Serial. Esta biblioteca emula a comunicação Serial (UART) em qualquer pino do MCU e visto que o
ATtiny85 não há pinos físicos para UART, devemos usa-la. Entretanto, a biblioteca ocupa uma imensa
quantidade de Flash e RAM.

Podemos trabalhar, satisfatoriamente, com o Clock interno, que vai de 1MHz até 8MH. No entanto, Se for
preciso mais velocidade, é necessário adicionar um cristal externo de até 20MHz.

Instalando na Arduino IDE


A Arduino IDE não suporta o ATtiny85 nativamente, portanto,  precisamos adicionar o Core do ATtiny85  a ela
para conseguir usar o ATtiny85.
1-) Entre em https://github.com/SpenceKonde/ATTinyCore e copie o link .JSON que esta descrito dentro do

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
arquivo “Installation” . Com este link iremos baixar os arquivos na Arduino IDE.

2-) Vá em “Preferências”, adicione o link copiado em “URLs adicionais” e clique em “OK”.



INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

3-) Vá em “Ferramentas” -> “Placa” -> “Gerenciador de Placas…”. Procure pelo ATtinyCore na lista e instale.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

4-) Volte em “Ferramentas” -> “Placa” e veja que apareceu o ATtiny!



INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
Mãos a obra – Piscando o primeiro LED no
INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

ATtiny85
Componentes necessários
1x ATtiny85.
1x Protoboard 170 pontos
1x LED.
Jumpers macho-macho.

Montando o projeto
O ATtiny85 não conta com conversor Serial e muito menos uma porta USB, portanto,
devemos dar upload a ele através de um gravador que neste caso será o Arduino UNO.
A explicação estará logo abaixo em “Entendendo a fundo: Hardware“.

Para gravar o “Bootloader” (de nição dos Fuses) e o código em si, devemos utilizar um gravador externo.
Iremos usar o Arduino UNO como ISP.
1-) Abra o exemplo “ArduinoISP” no menu de exemplos , e faça o upload deste código no seu Arduino UNO.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
Não esqueça de selecionar a porta COM e a placa “Arduino UNO” no menu de ferramentas, caso não esteja
selecionado.
2-) Após efetuar o upload do “ArduinoISP” no Arduino UNO, ele está apto a gravar códigos em

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
Microcontroladores ISP sem Bootloader. Podemos agora concluir as ligações necessárias para upload do
código e gravação dos Fuses (“Bootloader”) no ATtiny85.

Muita atenção na posição do ATtiny85! Deixamos a “bolinha indicadora” para a


esquerda, se você inverter, consequentemente irá inverter os pinos de alimentação e
queimar seu tiny85! Sempre con ra as ligações com o Mapa de pinos.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

Os pinos utilizados são os mesmos de uma comunicação SPI e alimentação.

5V.
GND.
CLOCK (13).
MISO (12).
MOSI (11).

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
CS (10).

3-) Plugue o Arduino UNO no computador e abra um novo Sketch (projeto). Precisamos selecionar as
con gurações de “Bootloader” (Fuses) para depois gravar o código no tiny85. Entre no menu de ferramentas e
indicamos que deixe igual o da imagem, apenas altere se souber o que esta fazendo!

Obs: Altere a porta COM para a porta que seu Arduino UNO estiver conectado.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

Após arrumar todos itens, clique em “Gravar Bootloader“. Isso irá apenas con gurar os Fuses do ATtiny85,
ainda não é o upload do nosso código. Você só precisa fazer isso para o primeiro upload ou se for alterar
alguma dessas con gurações futuramente.
Agora que gravamos o “Bootloader”, podemos nalmente dar upload de nossos códigos. Basta manter as

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
con gurações selecionadas anteriormente, escrever o código e dar upload.

Veja como cou nossa montagem:



INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

ATtiny85 montado no protoboard junto ao Arduino Uno

Código do projeto
1 void setup()
2 {
3 pinMode(4, OUTPUT);//Define o pino 4 (PB4) como saida.
4 }
5
6 void loop()
7 {
8 digitalWrite(4, !digitalRead(4));//Inverte o estado do pino.
9 delay(200);//Espera 200mS.
10 }

Colando para funcionar


Após a gravação do “Bootloader” e do código, podemos ver essa mini-maravilha funcionando! Removemos os
os de upload e deixamos apenas a alimentação (5V e GND) juntamente com o LED no pino PB4.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

Entendendo a fundo
Software
-Função pinMode
1 pinMode(4, OUTPUT);//Define o pino 4 (PB4) como saida.

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
Como podemos ver no Mapa de pinos, as opções em verde são os pinos que podemos usar normalmente.
Estes estão descritos como PB0 ao PB5 e podemos usar o número para programar. Usamos o pino 4, que é
referente ao PB4 (localizado ao lado do GND).

-Blink
1 digitalWrite(4, !digitalRead(4));//Inverte o estado do pino.
2 delay(200);//Espera 200mS.

Efetuamos um Blink (inversão de estado) no pino 4, para que vejamos o LED piscando.

Desa o
Como citado anteriormente, podemos utilizar esse pequeno MCU para fazer sub-módulos de controle, que
estará conectado em uma central (um Arduino MEGA por exemplo). Tente fazer a comunicação Serial (UART)
entre o Arduino UNO com o ATtiny85 para fazer o LED piscar a partir de comandos recebidos pela Serial
(UART). Também citamos que não há pinos físicos para UART no tiny85, então você precisa usar a biblioteca
Software Serial.

Fechamento
Com esse  minúsculo Microcontrolador, podemos fazer diversos projetos onde tamanho e consumo

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
energético são essenciais e importantes. Entretanto, a pouca RAM e Flash comparada ao UNO, pode ser fatal
se seus modos de programação não forem os melhores. Não se esqueça de “boas práticas” para programa-lo
e bons estudos.

José Morais
Estudante de Engenharia da Computação pela USC, pretende se aprimorar e fazer a
diferença nesta imensa área da tecnologia. Apaixonado por IoT, sistemas embarcados,
microcontroladores e integração da computação nos mais diversos ns práticos e
didáticos.

Compartilhe:

 Facebook  LinkedIn  Google  Pinterest

ARDUINO ARDUINO ISP ATTINY ATTINY85 BLINK ISP SPI TINY85 UNO

Relacionado

INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

Conheça o que é o LilyPad e dê vida O que é Arduino e como funciona? Arduino - Entradas e Saídas Digitais
às suas roupas - Pinos digitais

2 COMMENTS

Renato Dos Santos REPLY

21 de Janeiro de 2018, 17:12

Tenho uma sugestão e duvida também. piscar um led tem muitos tutorias ensinado a fazer
isso, mas eu quero controlar um servomotor com potenciômetro no ATtiny85 e não consegui.
Alguém sabe como fazer? Poderia dar-me uma ajudinha?
José Morais REPLY 
INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO
21 de Janeiro de 2018, 19:51

Não tem segredo, basta conectar o potenciômetro em algum pino com ADC e o
servo no canal PWM, veri que os pinos corretos e ligue os componentes!

DEIXE UMA PERGUNTA, SUGESTÃO OU ELOGIO! ESTAMOS ANSIOSOS PARA TER OUVIR!
Digite seu comentário aqui... 
INÍCIO TUTORIAIS APOSTILA ARDUINO BÁSICO SEJA UM AUTOR  LOJA VIDA DE SILÍCIO

© 2018 Portal Vida de Silício All rights reserved

Potrebbero piacerti anche