Digispark ATtiny85 com a IDE do Arduino - FritzenLab
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!.
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).
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.
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).
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:
Fonte: 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.
Classificado como:Arduino arduino digispark arduino IDE atmel attiny attiny attiny85 digispark digispark attitny85 driver usb programando attiny usb driver windows 10
Clovis Fritzen outubro 5, 2016 abril 19, 2017 Componentes 9 Comentários
← O fim da briga entre Arduino Org e Arduino CC ?
Hack do Fritzen [7] – Módulo Wi-Fi ESP-12 na Protoboard →
9 ideias sobre "Digispark ATtiny85 com a IDE do Arduino"
novembro 13, 2016 em 5:33 pm
Estou usando uma Digispark, e gostaria conectar um Bluetooth, vc tem algum exemplo de uso da softwareSerial com a Digispark?
novembro 13, 2016 em 6:04 pm
Eu lembro de ter visto algo relacionado á biblioteca DigiUSB, neste link >> https://digistump.com/wiki/digispark/tutorials/debugging
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
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
pinMode(ch1, OUTPUT);//Pino digital P4
char caracter =TinySerial.read();
//——————————–ch1———————
if(caracter == 'a')
if(digitalRead(4)==HIGH){ //Se pin P4 esta HIGH
delay(1200); // tempo para ligar o relay
// desliga relay
novembro 14, 2016 em 1:25 pm
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?
novembro 23, 2016 em 7:03 pm
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?
novembro 23, 2016 em 10:03 pm
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.
novembro 24, 2016 em 12:26 pm
Muito obrigado pela ajuda! No fim de semana irei comprar os componentes e montar =)
julho 5, 2017 em 4:11 pm
Muito Obrigado me ajudou muito, ja tinha baixado e instalado todos os drivers, tinha instalado a plaquina no ide de contrubuinte, mas não conseguia fazer o programa reconhecer e ele ficava desconectando toda hora e sumindo dos dispositivos, pensei que todas as 4 que comprei estavam danificadas. Agora funcionou perfeitamente.