Primeiros passos para iniciar a programação da placa de desenvolvimento Digispark (ATtiny85).
A Digispark é uma placa de desenvolvimento baseada no microcontrolador ATtiny85 fabricado pela Atmel.
É uma placa muito pequena e de baixo custo, sendo ideal para projetos compactos, onde a economia de espaço é requisito.
Além disso, não é necessário aprender outra linguagem de programação. Você pode usar a própria IDE e linguagem do Arduino.
Vejamos suas principais características:
- Programável pela IDE do Arduino (1.0+);
- Pode ser alimentada pela USB ou fonte externa;
- Regulador 5V on-board
- 6 Pinos de I/O
- Memória Flash 8k (6k disponíveis);
- I2C e SPI
- PWM
- LED indicativo para testes
Veja que a Digispark é compatível com o Arduino, mas isso não significa que, tudo que você faz no Arduino, você pode fazer com ela!
Vejamos alguns pontos:
- O processador utilizado é o Atmel Attiny85 MCU. Ou seja, algums bibliotecas do Arduino podem não ser compatíveis;
- A memória de programas é bem menor (6 KB);
- A comunicação I2C é feita I2C nos pinos 0 (SDA) e 2 (SCL);
- Leitura analógicas podem ser feitas pelos pinos 2 (ADC 1), 3 (ADC 3), 4 (ADC 2) e 5 (ADC 0).
- O pino 5 possui algumas limitações de corrente
- O pino VIN suporta tensões entre 7 a 12v.
Usando a IDE Arduino
Vejamos agora como configurar a IDE do Arduino para programar a Digispark no Windows:
- Primeiramente, você deve baixar e instalar os drivers para Windows AQUI
- Na IDE do Arduino, no menu Preferências, opção Placas adicionais, acrescente o endereço: http://digistump.com/package_digistump_index.json e pressione OK.
- No menu Ferramentas, submenu Placas, selecione Gerenciador de placas. Filtre por Contribui, selecione Digistump AVR Boards e clique em Instalar
- No menu Ferramentas, selecione a placa Digispark (Default – 16.5mhz)
Pronto agora, você pode digitar e compilar seu primeiro programa. Sugiro usar o Hello World do Mundo Arduino, o Blink que vem com os programas de exemplo:
// 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 } // 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 }
Obs: Para fazer o upload da aplicação para a placa, o processo é um pouco diferente:
- Desconecte o cabo USB
- Faça o upload
- Quando for solicitado, conecte novamente o cabo
Programa de exemplo
Vejamos mais um programa de exemplo que fiz para testar a placa. Vamos usar o Digispark para controlar um LED RGB conectado às portas 0 (Red), 1 (Green) e 2 (Blue):
#define R 0 #define G 1 #define B 2 void setup() { pinMode(R, OUTPUT); pinMode(G, OUTPUT); pinMode(B, OUTPUT); } void loop() { digitalWrite(R, HIGH); // WHITE digitalWrite(G, HIGH); digitalWrite(B, HIGH); delay(5000); digitalWrite(R, HIGH); // RED digitalWrite(G, LOW); digitalWrite(B, LOW); delay(5000); digitalWrite(R, LOW); // GREEN digitalWrite(G, HIGH); digitalWrite(B, LOW); delay(5000); digitalWrite(R, LOW); // BLUE digitalWrite(G, LOW); digitalWrite(B, HIGH); delay(5000); }
Saiba mais…
- https://digistump.com/wiki/digispark/tutorials/connecting
- https://www.hackster.io/digispark
- http://br-arduino.org/2015/03/chegou-no-dx-digispark-estilo-arduino-mas-com-attiny85-e-custando-bem-menos.html
- http://fritzenlab.com.br/2016/10/digispark-attiny85-com-a-ide-do-arduino/
Caro Cintra,
Trabalho voluntariamente com jovens no IFBA com Arduino e adquiri o Digispark Athiny e segui sua orientação e de outros sites e ainda nao consegui carregar o blink com novo tempo.
uso windown 7 e o modelo é o que vem a usb na proproa fenolite.
a IDE solicira o dispositivo e depois qu conecto informa carregdo e na verdade nao altereou o programa no processador.
Grato pela atenção e estou divulgando seu blog entre os colegas e alunos.
Carlos Bruni
Olá Carlos!
Obrigado!
Os pontos mais importantes para configurar o Attiny são:
– Instalar os Drivers
– O processo de transferência é diferente do Arduino. Precisa desconectar o cabo, Fazer o Upload e conectar novamente.
Se você já fez tudo isso, será que pode ser algum problema com a USB?
Veja se esse post sobre problemas com a USB pode te ajudar: https://josecintra.com/blog/arduino-resolvendo-problemas-porta-usb/
Abraço!
Meu note tem o Windows 10 instalado. Fui instalar os drivers do digistump para a placa Digispark. O windows parece que instala os drivers mas nada aparece no gerenciador de dispositivos. Quando conecto o Digispark aparece como “Dispositivo USB Desconhecido (Falha na Solicitação de Descritor de Dispositivo)”. Tentei inúmeras vezes e sempre retorna a mesma mensagem. Penso que talvez o Digispark está sem o Bootloader gravado, assim o Windows não reconhece o dispositivo. O que achas? Tens uma luz para este problema?
Reinaldo, estou com esse mesmo problema. Você já conseguiu alguma solução?
No meu Note instalou certinho o drive ai tem a resposta de gravado com sucesso mas não funciona tentei usar o sensor de obstáculo entrando na porta adc0 configurada para a função de Digital mas não funciona acabei não entendo o que acontece com o Digispark Stiny85 bora voltar para o arduino Nano que funciona muito bem kkkkkkkk