Placa de desenvolvimento Digispark e Como utilizá-la como Programador ISP

Um dos microcontroladores que eu costumo usar com mais frequência é o Atiny85, que possui  8 pinos sendo 6 de IO e 2 de alimentação, esse microcontrolador pode ser adquirido a preço de banana no ebay (é necessário um pouco de paciência com os correios). Na maioria das vezes ele consegue substituir completamente um Arduíno nas aplicações que exigem poucos pinos. Entenda melhor como o Attny85 pode utilizado em seus projetos aqui: BR-Arduino.

Neste post pretendo apresentar a placa de desenvolvimento Digispark e mostrar como ela pode ser útil servindo como programador de outros microcontroladores AVR. O Digispark é basicamente um pequeno Arduino de 6 pinos , que além de possuir conexão USB possui também um regulador de tensão, dessa forma é possível programá-lo rapidamente e deixá-lo de maneira permanente no seu projeto levando em conta o baixo custo desta placa (5 unidades por 35 R$ no site chines BangGood) . A principal vantagem que me convenceu a comprar essas plaquinhas de desenvolvimento foi a possibilidade de utilizá-la como programador para os Chips Attiny85 que eu já possuo, não só isso, mas também é possível utilizar esta placa para programar qualquer outro chip AVR através dos pinos ISP do microcontrolador.

nova-imagem-de-bitmap2

Instalando o Digispark

O Primeiro passo para fazer a placa funcionar é  instalar a mesma na  IDE do Arduino, abra o programa do Arduino, na barra superior vá em Arquivo, e e clique em preferencias, a seguinte janela deve abrir:

Nova Imagem de Bitmap 3.jpg

No espaço “Additional Boards Manager URLs”, adicione o seguinte link:

http://digistump.com/package_digistump_index.json

(é Possível inserir mais de uma URL separando-as por virgula)

Em seguida vá em ferramentas e abra a janela de seleção de placas, escolha Board Manager:

Nova Imagem de Bitmap (2).jpg

Agora, no Boards Manager escolha Type -> Contributed, e instale o arquivo “Digistump AVR Boards by Digistump” (basta clicar duas vezes).

Nova Imagem de Bitmap (3).jpg

Apos a instalação será possível escolher o Digispark para programação em Ferramentas-> Placa -> Digispark.  O Digispark esta então pronto para ser programado, experimente o programa Blink do Arduino, modificando o programa para utilizar o pino 1 do Digispark, o qual já possui um LED. Existe diferença importante entre o digispark e o Arduíno com repeito a forma de transferir o programa, para programá-lo é necessário que o mesmo esteja desconectado do computador durante a copilação do programa, o Digispark deve ser conectado apenas quando a mensagem  “Plug in device now…” aparecer na IDE do Arduíno:

nova-imagem-de-bitmap-4

Se é a primeira vez que você conecta a placa no computador espere até que o Windowns instale automaticamente o driver da placa.

Consertando o pino P5 dos Clones do Digispark

Caso você tenha comprado o seu Digispark no site original esse passo não é necessário. O Digispark original vem com o pino P5 habilitado para ser utilizado como pino I/O, já os clones chineses, possuem o bootloader  do Digispark mas geralmente vem com o pino P5 funcionando como Reset. para testar se esse é o seu caso carregue o program Blink no Digispark de forma que o led do pino 1 acenda ou pisque, em seguida encoste um fio entre o GND da placa e o Pino P5, se a placa resetar significa que o pino P5 está funcionando como Reset,  isso não é um problema caso você deseje utilizar apenas os pinos, P0 P1 P2 P3 e P4 do aparelho.  mas se deseja utilizar programar o pino P5 ou transformar o seu digispark em um programador ISP esse passo é necessário. (antes de fazer este passo se certifique de que o Digispark esta funcionando corretamente e possui o Bootloader Instalado, em outras palavras tenha certeza de que o Digispark está rodando programas carregados pela IDE do Arduíno via USB,  pois depois de desabilitar o Reset ele só poderá ser programado via USB).

Para modificar o Digispark será necessário conectá-lo a um Arduino da seguinte forma:

4

Será necessário também carregar o programa “arduino ISP” no Arduíno que irá programar o Digispark, abra a IDE do Arduíno e Carregue o programa que se encontra em “Arquivo-> Exemplos -> ArduinoISP” no seu Arduíno:

nova-imagem-de-bitmap-3

Para fazer essa alteração no Digispark teremos que utilizar a ferramenta Winavr (para windowns), Baixe e instale através do link: https://sourceforge.net/projects/winavr/

Agora abra o Prompt de comando do windowns (pressione no seu teclado a tecla com o simbolo do windows + R, na janela executar digite “cmd” e pressione Ok) , já no prompt digite avrdude e pressione enter, caso a instalação do Winavr tenha ocorrido com sucesso o Prompt deve mostrar as  seguintes informações:

nova-imagem-de-bitmap-3

Agora com tudo conectado e instalado digite no Prompt:
avrdude -P COM3 -b 19200 -c avrisp -p attiny85 -n

(Note que o meu Arduíno esta conectado na porta COM3, isso pode mudar dependendo do Arduíno, o seu pode ser “/dev/ttyUSB0”, “COM7”, “COM5” etc, para saber a porta vá na IDE do Arduíno em Ferramentas->Porta e copie o nome da porta que esta selecionada)

Se tudo estiver funcionando corretamente o Prompt mostrará a seguinte mensagem:

2

Em seguida desative o Reset com o seguinte comando:

avrdude -P COM3 -b 19200 -p attiny85 -c avrisp  -U hfuse:w:0x5F:m 

O prompt mostrará a seguinte mensagem:

3

Pronto! agora o pino P5 pode ser utilizado normalmente pela IDE do Arduíno.

Usando o Digispark como ISP

Para utilizar o Digispark como programador de chips AVR conecte ao attiny que deseja programar seguindo o diagrama.

nova-imagem-de-bitmap

Se você deseja programar outro chip AVR (é possivel programar qualquer outro chip AVR, atmega328, attiny2313,attiny4313 etc) conecte o Digispark ao chip seguindo o diagrama:

nova-imagem-de-bitmap-4

(a posição dos dos pinos ISP de cada chip varia de chip para chip, essa informação pode ser encontrada facilmente no Datasheet do chip)

Para transformar o Digispark em um programador ISP precisamos precisaremos instalar o programa “Little Wire” no Digispark, e o Driver “USBtinyISP”  no computador.

Faça o download do Little Wire no site:

http://littlewire.cc/downloads.html

Escolha a versão mais recente do “Single click installer” compatível com o seu computador,baixe rode o programa, quando a seguinte mensagem aparecer conecte o Digispark:

nova-imagem-de-bitmap-2

O programa será instalado no seu Digispark automaticamente, esse processo é reversível e  o programa fica instalado no Digispark da mesma forma que o ArduinoISP fica instalado no Arduíno, se posteriormente você quiser utilizar o Digispark para outra finalidade basta programá-lo normalmente pela IDE do Arduíno.

Agora devemos instalar o driver para que o computador reconheça o dispositivo USB como um programador ISP

Faça o download do do Libusb no site:

https://sourceforge.net/projects/libusb-win32/

Com o Digispark conectado a porta USB extraia o conteúdo do arquivo ZIP e execute como administrador o Instalador em:

libusb-win32-bin-1.2.6.0 -> Bin -> inf-wizard.exe

Pressione Next, e na próxima janela escolha a opção “USBtinyISP”:

nova-imagem-de-bitmap-3

Avance até a ultima janela e aperte o botão Install Now:

nova-imagem-de-bitmap-3

Você já pode utilizar o seu novo programador através da IDE do Arduíno, na IDE vá em Ferramentas->Programador escolha USBtinyISP como programador, em Ferramentas->Boards escolha o chip que deseja programar. e utilize a opção “Arquivo->Carregar com o programador”  (caso você não saiba como ou porque programar chips AVR siga o tutorial:  BR-Arduino.)

agora é só utilizar  o chip.

ezgif.com-optimize.gif

Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *