Você certamente já ouviu falar (ou até mesmo já comprou) de uma das menores plaquinhas de desenvolvimento embarcado compatível com Arduino, chamada de Digispark ATtiny85 (imagem abaixo).
   Desenvolvida pela empresa Digistump e lançada no formato de financiamento coletivo na plataforma Kickstarter no início de 2015, a placa obteve mais de US$313.000,00 sendo que o objetivo inicial eram somente US$5.000,00 . Sucesso estrondoso!.
digispark attiny85 ide arduino
Placa de microcontrolador Digispark ATtiny85
   Obviamente tanto sucesso deixou os copiadores Chineses maluquinhos, e várias versões desta pequena plaquinha estão á venda no na ICStation (neste link aqui ou aqui), eBay e no Aliexpress. Mas o que faz do Digispark ATtiny85 tão especial? veremos.
   O hardware todo é montado em uma placa de menos de dois centímetros quadrados e é baseado no chip ATtiny85 fabricado pela ATMEL . O diagrama esquemático (imagem abaixo e link aqui) contém o ATtiny85, um regulador de tensão para 5V, uma porta USB e um LED (no pino ‘0’). O grande diferencial desta placa é a possibilidade de programação diretamente via USB, sem necessidade de conversor USB-Serial (similar á solução adotada no Arduino Leonardo).
Digispark-attiny85-schematic-diagram-1
Diagrama esquemático Digispark ATtiny85 – clique para ampliar
   A placa conta com seis (6) I/O (pinos digitais), sendo que dois dos pinos são compatilhados com a comunicação USB; quatro (4) dos seis pinos são também entradas analógicas (AI); três dos pinos tem suporte á PWM e a placa conta ainda com interface de comunicação I2C.
   Toda a documentação do projeto é open-source e está disponível neste link; outro grande diferencial deste produto é a possibilidade de programação diretamente através de IDE do Arduino, objetivo do foco deste artigo.
   A parte “chata” de uma interface USB “simulada” (criada em software, que é o caso desta plaquinha) é que você necessita de um Driver específico para que o seu computador reconheça que a placa foi conectada na USB. A documentação oficial da Digispark ATtiny85 tem instruções completas (link aqui) e inclusive página de download do Driver USB.
   Este tutorial vai servir para os casos onde você já possui a IDE do Arduino instalada no seu computador Windows e quer apenas instalar o Driver USB para sair programando sua plaquinha.
 
Passo 1) Abra a IDE do Arduino e clique em “Arquivo > Preferências” e coloque a url http://digistump.com/package_digistump_index.json em “Additional boards manager URL”. Clique em ‘OK’.
Passo 2) Clique no menu “Ferramentas > Placas > Gerenciador de Placas”. Selecione o tipo de placa com a opção “contribuída”, clique no centro da tela em em “Digistump AVR Boards” e clique em “Instalar”.
Passo 3) Pronto! agora a sua IDE do Arduino já tem suporte á placa Digispark ATTiny85. Falta instalar o Driver USB no seu computador.
Passo 4) Você deve baixar o Driver USB neste tutorial do Instructables, ou na página oficial do software para o Digispark ATtiny85. Eu tenho Windows 10 (que é SUPER CHATO com Drivers USB) e consegui instalar o Driver para o Digispark ATtiny85 sem problemas.
Passo 5) Com o Driver USB já instalado, copie e cole o código abaixo na IDE do Arduino. É um Blink (pisca-pisca) básico para o Digispark. Importante: NÃO CONECTE a placa à USB do computador ainda.
// 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
}
Passo 6) Clique em compilar e fique observando o console na parte inferior da IDE. Em um certo momento vai aparecer a mensagem “Plug in device now … ” solicitando que você conecte a placa na USB do computador; só então você deve plugar a Digispark ATtiny85 na USB. Você tem 60 segundos para conectar a Digispark na USB do seu computador (Veja imagem).
Digispark-attiny85-sketch-upload-scheme-1 
Passo 7) Espere o fim da gravação (demora menos de 4 segundos, na minha experiência) e pronto!, o programa já vai estar gravado na sua placa Digispark ATtiny85. Observação: Toda vez que a placa é energizada (alimentada) ela demora cinco (5) segundos para iniciar o programa, portanto não se assuste, são só 5 segundos 😉 .
_________________________________________
O diagrama de pinos da placa é visto abaixo: 
Digispark-Pinout-5p-io-1Fonte: 5P.io
 
   Agora que você já tem todos os passos de como programar a placa, é hora de colocar a criatividade para funcionar em seus próprios projetos. Para isso eu deixo uma página de wiki com todas as informações necessárias sobre a placa neste link
Digispark ATtiny85 com a IDE do Arduino
Classificado como:                                            

7 ideias sobre “Digispark ATtiny85 com a IDE do Arduino

  • novembro 13, 2016 em 5:33 pm
    Permalink

    Muito bom, parabéns…
    Estou usando uma Digispark, e gostaria conectar um Bluetooth, vc tem algum exemplo de uso da softwareSerial com a Digispark?

    Resposta
  • novembro 14, 2016 em 12:20 pm
    Permalink

    Boa tarde, obrigado pela resposta, vou verificar no link.
    Na verdade eu era capaz de gravar os sketck´s no attiny85, via gravador Tiny AVR Programmer (https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide?_ga=1.207390353.322992447.1469483912).
    Sem problemas, agora somente consigo fazer o led blink nos pinos…
    Não sei se o gravador esta com defeito ou houve alguma alteração no meu IDE ARDUINO.
    Sou capaz de gravar sketch para Digispark85 e também para Iteaduino Tiny85, só não estou mais conseguindo gravar este sketch , se houver alguma idéia do seja…agradeço mais uma vez.

    /*
    * PROGRAMAR O CHIP ATTYNI85 NA PLACA TINY PROGRAMMER SPARKFUN
    * //1- CARREGAR SKETCK
    //2- SELECIONAR PLACA EM FERRAMENTAS–USAR ATTYNI
    //3- SELECIONAR EM FERRAMENTAS O PROCESSADOR –ATTYNI85 OU ATTYNI45
    //4- SELECIONAR CLOCK DA PLACA—–8Mhz Interno
    //4- SELECIONAR PORTA COM—–
    //4- SELECIONAR PROGRAMADOR—–USBtinyISP
    //5- INSERIR A PLACA AVR HOOPUP SPARKFUN CARREGAR O SKETCH-
    //–6- observar mensagem upload comleto (CARREGADO);
    *
    *
    * // ESTE CODIGO PODE SER USADO COM OUTRAS PLACAS ARDUINO
    * // USAR BLUETOOTH HC-05
    */

    #include //

    SoftwareSerial TinySerial(2, 3); // RX-P3, TX-P2
    int ch1 = 4;// P4

    /*
    * —-ATTYNI85———
    * RST -1 8- VCC (5VCC)
    * P3 OU A3 -2 7- P2 OU A1
    * P4 OU A2 -3 6- P1
    * GND -4 5- P0
    * —————–
    */

    void setup()
    {

    TinySerial.begin(9600);
    pinMode(ch1, OUTPUT);//Pino digital P4

    }

    void loop()
    {

    char caracter =TinySerial.read();

    //——————————–ch1———————
    if(caracter == ‘a’)
    {
    digitalWrite(ch1,HIGH);

    }

    if(digitalRead(4)==HIGH){ //Se pin P4 esta HIGH
    delay(1200); // tempo para ligar o relay
    digitalWrite(ch1, LOW);
    digitalWrite(4, LOW);
    // desliga relay

    }

    delay(10);
    }
    //——————————————————————————————————-

    Resposta
  • novembro 14, 2016 em 1:25 pm
    Permalink

    Boa tarde, obrigado pela ajuda.
    Alterei o clock interno de outro chip(novo) para 1Mhz e funcionou tudo certo.
    Acredito que tenha vindo no lote que comprei dois attiny85 com algum defeito ou eu travei o clock de alguma forma, que não sei ainda.
    Vou tentar a sua receita para gravar sketch “sem o meu gravador AVR Programmer Hookup”.

    Você já tentou gravar algum sketch usando a serial na placa Digispark?

    Resposta
  • novembro 23, 2016 em 7:03 pm
    Permalink

    Boa tarde! Sou programador mas nunca me aventurei com hardware. Poderia me tirar algumas dúvidas?
    Estou pensando em pegar uma Digispark ATtiny85 + acelerômetro ADXL345 para fazer um sensor de movimento que irá funcionar como complemento para o alarme do meu carro.
    Preciso que seja emitido um pulso negativo de 200mA num pino de saída (estará ligado ao alarme – para simular abertura da porta – automaticamente o alarme dispara) quando houver movimentação em algum dos 3 eixos.
    Bom, a lógica para programar eu sei, minha dúvida é como gerar esse pulso negativo de 200mA em algum pino de saída. Precisarei de algum outro componente eletrônico?

    Desde já obrigado!

    Resposta
    • novembro 23, 2016 em 10:03 pm
      Permalink

      Olá amigo,

      Para isso você poderia utilizar um transistor no modo chave (para que o pulso vindo do arduino possa fornecer 200mA você deve usar um transistor). Quanto a inversão de tensão você pode conectar o GND no positivo do seu alarme e o pulso efetivamente no negativo do seu alarme.

      Resposta
      • novembro 24, 2016 em 12:26 pm
        Permalink

        Muito obrigado pela ajuda! No fim de semana irei comprar os componentes e montar =)

        Abraço!

        Resposta

Deixe uma resposta

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

Solve : *
7 + 23 =