Olá,
Vamos aprender a configurar a placa desenvolvimento Digispark para ATtiny85.
Este pequeno MCU poderá ser muito útil em pequenos projectos, considerando que podemos contar com:
- 8-Bit Processor.
- 8K espaço de programa,
- 6 I/O ,
- 4-canais 10 bit ADC.
- I2C e pode funcionar até 20MHz com cristal externo.
Antes demais confesso que quando faço compras online para os projectos, por vezes encomendo algo não estou muito informado, mas que poderá vir a ser pratico a sua utilização, foi o caso deste programador, que encomendei sem estar previamente documentado.
No inicio foi um quebra-cabeças, após varias pesquisas na web e alguns documentos, foi fácil a sua compatibilidade.
Quando coloquei esta placa de desenvolvimento programador inteligente eletrônica para ATtiny13A/ATtiny25/ATtiny45/ATtiny85, verifiquei que a USB não lia absolutamente nada, não reconhecia o dispositivo:
E tudo começou aqui, percebi que o ATtiny85 que comprei vinha sem bootloader e o dispositivo de programação também não era reconhecido pela USB, nem havia drivers para instalar, mas não seria por essa razão que iria desesperar 🙂
Tudo que foi pesquisado era para arduino, não que seja muito seja resistente ao arduino, mas prefiro manter o padrão de programar em AVRStudio, bom, neste caso vamos dividir este tema em duas partes, Part1 Arduino e Part2 AVRStudio7.
No Github da Digispark , obtemos os drivers para arduino https://github.com/digistump/DigistumpArduino/raw/master/tools/micronucleus-2.0a4-win.zip
Ter atenção ao driver adequado para o windows, 32bits(DPinst.exe) ou 64 bits (DPinst64.exe)
Usou-se o Win64 Bits para teste, o windows não reconhece assinatura do fabricante, temos de prosseguir com a instalação assumindo que é confiável.
Se tudo correr como o esperado ficam instalados os .dll do USB, conforme a imagem anexa:
Após instalação dos drivers vamos precisar do arduino Uno, sim, isso mesmo, vamos numa primeira fase gravar com o arduino aos seguintes componentes:
1-Condensador electrolítico 10uF. ( condensador deve estar ligado Gnd ao Gnd do arduino)
1-Breadboard.
1-Arduino UNO.
6- Fios Macho-Macho.
Ligando o Arduino UNO/ATtiny85 conforme este esquema:
PINOUT do ATtiny85 é este:
Conexões Pinos:
-
ATtiny (7) Pin 2 no Arduino Pin 13 (SCK )
-
ATtiny (6) Pin 1 no Arduino Pin 12 (MISO )
-
ATtiny (5) Pin 0 no Arduino Pin 11 (MOSI )
-
ATtiny (1 ) Reset Pin no Arduino Pin 10 (RESET )
Antes de lerem o artigo que vou sugerir, existe apenas 3 pontos a ter em consideração:
-
Configurar o IDE do Arduino para gravar o ATtiny85
-
Configurar o Arduino UNO como ISP (carregar o exemplo para o arduino)
-
Ligar o ATtiny85 ao Arduino UNO
E ficam por aqui; não avancem com o programa “Led Blink com ATtiny85”
Por favor antes de programar—>leiam este Artigo Primeiro, (só até ao “Led Blink com ATtiny85”)
Já leram? Muito bem, avançando, quando temos o arduino ligado conforme o esquema apresentado incluindo o condensador de 10uF entre o gnd e o reset, vamos carregar o bootloader de forma a ser possível programar o Digispark, sem estar sempre a usar o Arduino.
Certifique-se que esta tudo configurado conforme esta imagem:

De forma a podermos visualizar os outputs do arduino, convém garantir que está seleccionado “upload” nas preferências.
Vamos colocar este código no Arduino, apenas para teste:
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(0, OUTPUT); //LED on Model B
pinMode(1, OUTPUT); //LED on Model A or Pro
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(0, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(1, HIGH);
delay(1000); // wait for a second
digitalWrite(0, LOW); // turn the LED off by making the voltage LOW
digitalWrite(1, LOW);
delay(1000); // wait for a second
}
Agora o “truque mais complicado”, será mostrado no video que apresento, para simplificar os passos:
Vamos fazer download do bootloader para ATtiny85:
https://github.com/micronucleus/micronucleus/tree/master/
Fuses para colocar no final da linha conforme demonstrado no seguinte video:
-U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m