O Tiny85 apresenta as seguintes vantagens:
- É pequeno, tem apenas 8 pinos divididos em 2 blocos de 4;
- Bem mais barato que um ATMega;
- Relativamente fácil de programar;
- Compatível com a IDE do arduino.
Para esse projeto precisaremos dos seguintes componentes:
- 1 x ATTiny85 PU20
- 1 x Arduino UNO
- 1 x Capacitor eletrolítico de 10 uf
- 1 x Resistor de 220 ohms
- 1 x LED
Passos:
- Fazer o download da biblioteca do Tiny aqui.
- Descompacte o zip
- Abra a pasta Hardware dentro da instalação do arduino e crie uma pasta chamada de attiny
- Copie o conteúdo para lá. Deve ficar de acordo com a figura abaixo.
- Abra a IDE do arduino e vá em Tools->Board. Deverá aparecer algo como:Usaremos o arduino UNO para gravar o programa no tiny e para isso, precisamos carregar o software ArduinoISP. Vá em File->Examples->ArduinoISP. Procure pela função abaixo e troque de 40 para 20 o tempo de delay.
uint8_t hbval=128; int8_t hbdelta=8; void heartbeat(){ if (hbval > 192) hbdelta = -hbdelta; if (hbval < 32) hbdelta = -hbdelta; hbval += hbdelta; analogWrite(LED_HB, hbval); delay(20); // <-- alterar essa linha de 40 para 20 }
Grave o programa ArduinoISP no UNO. Após a gravação, abra o exemplo Blink altere o pino 13 do LED para pino 0. Segue figura./* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ //Pin 13 has an LED connected on most Arduino boards. //give it a name: in led = 0; //this setup routine runs once when you press reset: void setup(){ //initialize the digital pin as an putput. pinMode(led, OUTPUT); } //this loop routine runs over and over again forever: void loop(){ //turn the LED on digitalWrite(led, HIGH); //wait fora second delay(1000); //turn the LED off digitalWrite(led, LOW); //wait for a second delay(1000); }
Em Tools->Board, selecione ATtiny85(internal 1 MHz clock) e em seguida, em Tools->Programmer, selecione Arduino as ISP.Seu programa está pronto para ser carregado. Monte o circuito de acordo com a figura abaixo.
O Capacitor deve ser usado para evitar que a IDE faça o reset do UNO - Ligando o GND ao pino de Reset. Abaixo a tabela com a ligação dos pinos.O programa (Blink alterado) já pode ser gravado. Grave normamente. Nesse momento o arduino UNO irá gravar o código no Tiny. Após a gravação, retire o Tiny e monte o circuito abaixo, Utilize preferencialmente uma alimentação de 5V.Eu montei na mesma protoboard os dois circuitos, trocando apenas o tiny de lugar e aproveitei a alimentação do arduino para alimentar o circuito acima.Tiny na posição do gravador.
Tiny em execução, aproveitando a mesma protoboard e alimentacãoSomente alterei o tiny de posição.Até a próxima.
Sem comentários:
Enviar um comentário