Programando a Digispark ATtiny85 com a IDE do Arduino

Primeiros passos para iniciar a programação da placa de desenvolvimento Digispark (ATtiny85).

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.
Digispark Pinagem
Digispark Pinagem

Usando a IDE Arduino

Vejamos agora como configurar a IDE do Arduino para programar a Digispark no Windows:

  1. Primeiramente, você deve baixar e instalar os drivers para Windows AQUI
  2. 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.
  3. No menu Ferramentas, submenu Placas, selecione Gerenciador de placas. Filtre por Contribui, selecione Digistump AVR Boards e clique em Instalar
  4. 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:

  1. Desconecte o cabo USB
  2. Faça o upload
  3. 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…

 

5 comentários em “Programando a Digispark ATtiny85 com a IDE do Arduino”

  1. 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

    1. 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!

  2. 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?

  3. 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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *