Programando ATtinys com Arduino

Se você já fez algum projeto usando seu Arduino, e sobraram muitos pinos vagos, você pode optar por usar um ATtiny, que são menores e também possuem placas, como o Digispark(aqui), que usa um ATtiny85.

Se você preferir, pode usar seu ATtiny na protoboard, e ainda programá-lo pelo Arduino, e é isso que vamos mostrar aqui.

Comparativo entre  ATtiny84, ATtiny85, ATtiny2313, ATmega328P(o mesmo usado no Arduino Uno).

comparação

Materiais necessários:

  • ATtiny 85, 84, 2313 ou outro de sua preferência;
  • 1 Programador ou 1 Arduino;

Se for seguir o exemplo, você também vai precisar de um led e um resistor.

A primeira coisa antes de começar, é enviar o sketch ArduinoISP, dessa forma o arduino vai enviar nossos sketchs para o ATtiny.
Basta abrir o exemplo e enviar para o seu arduino.

1
Arquivo>Exemplo>ArduinoISP

Também é necessário baixar um pacote com as informações para programar o nosso ATtiny. Nas preferências procure por URls Adicionais de placas, e coloque a URL:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Clique em OK.

2
Arquivo>Preferências

Depois de adicionar a URL, vamos no gerenciador de placas, em tipo selecionamos Contribuidos e procuramos attiny e instalamos uma das versões.

3
Ferramentas>Placa>Gerenciador de placas…

Depois da instalação do pacote, selecione o seu ATtiny nas Ferramentas e selecione o programador Arduino as ISP. Não se esquece de selecionar a Placa, o Processador, e o Clock da sua placa ATtiny.

4
Ferramentas

Depois disso tudo, você já pode começar programar seu ATtiny, a conexão é simples, e se você pretende usar o Uno para programar o seu ATtiny constantemente,  você deve considerar fazer um shield para facilitar.

Arduino x ATtiny

13 — SCK
12 — MISO
11 — MOSI
10 — RESET
5V — VCC
GND  — GND

Obs: em alguns casos é necessário um capacitor de 10uF entre o GND e o RESET do arduino.

attiny
Conexão

Depois abrimos o exemplo BLINK e alteramos o pino 13 para o pino 4:

void setup() {
pinMode(4, OUTPUT);
}
void loop() {
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(4, LOW);
delay(1000);
}

Enviamos o sketch e alteramos a conexão:

blink

Saiba mais:

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s