quarta-feira, 10 de março de 2021

HH - Digispark

Frente e verso do Digispark comparado à moeda de R$ 1


O Digispark é uma excelente opção para quando precisar de um microcontrolador compacto e barato, por isso o indicaria para quem quer iniciar.


Características Técnicas

 

Pinagem do Digispark ATTiny 85 - Reprodução: DevianArt

– Microcontrolador: Atmel ATTINY85
– Memória flash: 8KB
– EEPROM: 512 bytes
– SRAM: 256 ou 512 bytes
– Pinos de I/O: 6
– Conexão: USB Tipo A ou Micro USB B, depende do modelo
– Conversor analógico digital (ADC) em 4 pinos
– Baixo consumo de energia
– Dimensões da PCI:  25mm x 18,5mm x 4,5mm(USB A) ou 
                                    26,5 x 18,5 x 4,5mm (Micro USB B)

Atenção na hora da aquisição do Digispark, para verificar se é com o USB A ou USB Micro B, pois dependendo do uso, um tem mais vantagens sobre o outro, enquanto o primeiro pode ser plugado diretamente na porta USB o segundo precisa de um cabo para a conexão.



Comparativo entre os dois modelos de "Digispark" com USB tipo A na esquerda e Micro USB B na direita



Caso ainda queira se aprofundar na parte do circuito da placa pode consultar o esquema elétrico


Ambiente de Programação


Para programar usaremos a Arduino IDE, mas atenção com a versão usada,  pois os repositórios oficiais de algumas distribuições GNU/Linux estão desatualizados, não faça como eu que perdi um tempo devido a indicação ser 2:1.0.5, quando na verdade a interpretação de versão correta é 1.0.5. Caso tenha uma versão antiga instalada no Linux, lembre de primeiro remover esta para depois instalar a atualizada.

No momento que escrevo, março de 2021, a versão estável é 1.8.13, e na versão beta foi lançada a 2.0. Para evitar erros sugiro usar a versão estável, por já ter sido testada pela comunidade.



Cuidado com a versão do Arduino IDE, neste caso  é  1.0.5


No menu do Arduino IDE tem muitas diferenças entre as versões, inclusive de campos que são necessários para o correto funcionamento do Digispark. Para instalar a última versão disponível sugiro seguir o tutorial Como instalar o Arduino IDE no Linux.

Antes de usar o Digispark pela primeira vez é necessário configurar corretamente o Arduino IDE, e na barra de ferramentas, selecionar Arquivo - Preferencias, depois no campo Additional Boards Manager URL basta colar o link https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json e clique em OK.





Depois no Arduino IDE vá em Ferramentas - Placa, depois na janela Gerenciador de Placas em Tipo selecione Contribuído e role a barra lateral até encontrar Digistump AVR Boards, ou se preferir digite Digistump na caixa de busca, e depois clique em Instalar, aguarde a instalação, que aparenta parar por alguns instantes, mas tenha paciência. 




Depois de finalizada a instalação, para uso do dispositivo basta selecionar no menu Ferramentas - Placa - Digistump AVR Boards - Digispark (Default - 16,5MHz).




Agora basta testar com o código desejado ou ainda pode usar exemplos disponíveis como o Start que é similar ao famoso Blink, para encontra-lo basta ir em Arquivo - Exemplos - Digispark_examples - Start.





Caso preferir, gravei um video com esses passos , sem cortes de tempo, para ver que todo o processo não leva nem 4 minutos.






Possíveis Problemas

Alguns dos problemas que ocorrem com mais frequência são notificados na parte inferior do Arduino IDE e alguns destes são solucionados abaixo:

Mensagem  "Device search timed out"

Mensagem de erro quando não foi detectado o Digispark

A placa não foi conectada na porta USB do computador durante o tempo estipulado de carregamento do código de 60 segundos. Tente novamente realizar o procedimento, porém atente-se ao aviso para conectar a placa ao computador, durante o intervalo informado, se usar cabo verifique se o mesmo esta OK.


Mensagem  "Assertion failed: res >= 4, file library/micronucleus_lib.c, line 100"

A placa já estava conectada ao computador antes do aviso da Arduino IDE para conectar a placa. Desconecte a placa a porta USB, e então conecte-a apenas quando a Arduino IDE retornar a mensagem mencionada acima no tutorial.


Mensagem "micronucleus: library/micronucleus_lib.c:66:  micronucleus_connect Assertion 'res >= 4'  failed"

No caso de usar uma distribuição similar ao Parrot Security que tem diversas restrições de segurança use o comando no terminal ls /etc/udev/rules.d para verificar se as regras do Micronucleus já estão instaladas, caso não conste o pacote 49-micronucleus.rules no resultado então é necessário instalar na pasta /etc/udev/rules.d.

Este erro só foi corrigido graças a ajuda do Emerson do OldFatNerd.

Caso ainda esteja no mau caminho, no portal Embarcados tem um tutorial de instalação  no ®windows


Projetos com Digispark


Selecionei alguns projetos bem interessantes que podem ser feitos com o Digispark.

Fernando K tem uma vídeo aula interessante de um monitor de temperatura e umidade feito com o Digispark, além de um texto com links e detalhes, ATTINY – O Menor Arduino do Mundo.

Teclado com apenas uma tecla feito pelo Cesar Gimenes, ai você pode pensar qual o objetivo disso, e te mostro um exemplo de um projeto de botão físico para mutar o Zoom ou até encerrar o programa, nessas reuniões online que se tornaram tão frequentes.

Também é possível acionar o Digispark com módulo Bluetooth.

Um outro projeto muito util é o Password USB Key

E por último o mais complexo que encontrei é um similar ao Rubber Ducky:

Mais alguns links úteis para o genérico do Rubber Ducky são o GitHub Hak5 e o GitHub Marcus Mengs que contém os scripts do duck2spark e o DuckEnconder.



Caso queira se inspirar e conferir outros projetos que utilizam o Digispark, sugiro visitar o https://www.hackster.io/digispark.


Upgrades

Agora se quiser dar um upgrade e se tiver acesso a uma impressora 3D, em uma busca rápida no Thingverse encontrei alguns cases interessantes: 


Nenhum comentário:

Postar um comentário