Se deseja fazer uma tira de LED's WS2812B piscar nas cores do Brasil, vou passar o código necessário para tal.
A tira é como esta:
O resultado é este:
Para tal efeito, basta utilizar o código:
https://github.com/valterfc/arduino_projects/tree/master/ValterFC_LED_WS2812B_digipark_brazil
Como
controladora, utilizei um Digispark Attiny85, já com o firmware
atualizado, como eu ensinei anteriormente. No mesmo código do github tem
outros trechos comentados, que podem ser úteis.
Aqui
tem alguns informações úteis sobre a tira. Vale lembrar que o consumo de
todos os LED's de forma simultânea pode atingir 1.8A, na versão com 30
LED's por metro, podendo queimar os componentes da controladora, então
eu utilizei os fios extras da tira para alimentar diretamente, usando
uma porta micro USB para conectar um carregador de celular. A placa
Digispark é alimentada pela tira, então o USB da placa não é utilizado.
A porta micro USB:
Como ficou:
Falo sobre minhas impressoras 3D Caseiras: Prusa i3; Graber i3; Delta Kossel mini. Também demonstro os problemas e evoluções das mesmas. Algumas impressões também são mostradas. Em breve, começarei a postar sobre uma filamentadora que pretendo montar. E depois de alguns testes, vou postar também sobre um scanner 3d, o Fabscan.
sexta-feira, 1 de fevereiro de 2019
Digispark Attiny85 - removendo os 6s de boot
Quem tem um Digispark Attiny85 sabe que ele leva cerca de 6s para iniciar o sketch que subimos para ele.
Esse tempo de 6s é destinado a aguardar por comandos vindos de um PC, via USB, para o modo "programação". Isso faz com que a programação do dispositivo seja bem fácil, mas traz transtorno pra quem precisa que o sketch comece a executar logo no início do boot.
Mas tem uma notícia boa: é possível atualizar o firmware para remover esse tempinho chato. Vou demonstrar num passo a passo de como fazê-lo.
Versões do Digispark Attiny85:
Primeiro passo, ter em mãos o hardware. São necessários "apenas" os seguintes itens:
- 1x Digispark Attiny85;
- 1x Cabo USB x Micro USB, desses usados em carregadores de celular (necessário apenas se for a versão com Micro USB);
- 1x fio/jumper qualquer (na verdade, pode ser qualquer coisa metálica, desde que saiba manipular).
Se tiver os terminais da placa, e for utilizá-los depois, pode ser interessante soldá-los agora:
Existe também a opção de terminais curvos:
Baixe o driver necessário para reconhecer a placa no seu PC:
https://github.com/digistump/DigistumpArduino/releases/
Ou diretamente no link:
https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip
Descompacte (em uma pasta de fácil acesso) e execute a instalação:
Para ver se deu tudo certo, entre no diretório, pelo Prompt de Comando. Um atalho é segurar o SHIFT e clicar direito em qualquer lugar da pasta, onde aparecerá um menu com a opção de Prompt de Comando / PowerShell:
No Prompt de Comando, digite (o "TAB" ajuda a autocompletar o nome do arquivo):
micronucleus -?
Agora insira o Digispark na porta USB do seu PC:
Aparecerá a versão do firmware do seu Digispark. Neste exemplo, a versão é a 1.6.
Se tudo deu certo até aqui, quer dizer que seu Digispark está configurado e funcionando corretamente.
Agora, vamos baixar o firmware.
https://github.com/micronucleus/micronucleus
A versão completa, com as opções que precisamos, é a v1.1. Baixe diretamente no diretório upgrade (vou explicar o porquê mais para frente):
https://github.com/micronucleus/micronucleus/tree/v1.11/upgrade/releases
O arquivo que precisamos é o:
https://github.com/micronucleus/micronucleus/blob/v1.11/upgrade/releases/micronucleus-1.11-entry-jumper-pb0-upgrade.hex
Explicando os arquivos:
- os arquivos iniciando com "micronucleus-1.11" significam que são da versão 1.11;
- o nome "upgrade" no final do arquivo será explicado mais a frente;
- o arquivo "micronucleus-1.11-entry-ext-reset-upgrade.hex" significa que o modo de programação será ativado através do reset, o pino PB5 (mostrado a figura mais a frente), e deverá ser programado através de um Arduino ou outro programador;
- o arquivo "micronucleus-1.11-entry-jumper-pb0-upgrade.hex" significa que entrará no modo de programação quando estiver com um jumper conectando o pino PB0 com o GND (negativo, ou terra);
- o arquivo "micronucleus-1.11-ledpb1-upgrade.hex" significa que o LED que está conectado ao pino PB1, sempre iniciará ligado (ON);
- o arquivo "micronucleus-1.11-upgrade.hex" é o firmware normal, com o mesmo tempo de 6s do qual já possuímos.
Pinagem do Digispark:
Decidi utilizar a versão v1.11, porque ela já vem com essas opções compiladas, facilitando o nosso trabalho. A última versão (Master) tem opções de redução do tamanho do firmware, sobrando mais espaço para o nosso sketch.
Devemos utilizar os firmware da pasta "firmware\releases" somente quando o nosso Digispark não possui quaisquer firmware gravado. No nosso caso, já possui um firmware, então, caso tente gravar, ocorrerá um seguinte erro, ao executarmos a instalação do firmware da pasta "firmware\releases":
micronucleus.exe --run micronucleus-1.11-entry_jumper_pb0.hex
O erro ocorrido é "Program file is 1856 bytes too big for the bootloader!". Por quê isso ocorre?
A questão é que nosso Digispark já possui um firmware, então o espaço disponível é muito pequeno. Para isso que serve a pasta "upgrade\releases", que é onde estão os firmware "compactados" para que seja possível atualizar uma placa que já possua um firmware. Após o upload, o firmware é expandido, passando a ocupar o espaço necessário, e todo o sketch existente é apagado.
Para maiores informações, acesse:
https://gist.github.com/valterfc/bc3828a0a85bf6c6df608b37886b1cf5
Agora, vamos gravar o firmware que desejamos. Para isso, digite no Prompt de Comando:
micronucleus.exe --run micronucleus-1.11-entry-jumper-pb0-upgrade.hex
Pronto.
Agora caso desejarmos fazer qualquer operação de gravação ou consultar a
versão do firmware, será necessário adicionar o jumper.
Vale observar que com a troca do firmware, ficamos com mais espaço livre disponível para nosso sketch. Mas para podermos usar esse espaço extra no Arduino IDE, será necessário fazer uma pequena configuração.
Mas isso é assunto para a próxima. Até lá.
Esse tempo de 6s é destinado a aguardar por comandos vindos de um PC, via USB, para o modo "programação". Isso faz com que a programação do dispositivo seja bem fácil, mas traz transtorno pra quem precisa que o sketch comece a executar logo no início do boot.
Mas tem uma notícia boa: é possível atualizar o firmware para remover esse tempinho chato. Vou demonstrar num passo a passo de como fazê-lo.
Versões do Digispark Attiny85:
Primeiro passo, ter em mãos o hardware. São necessários "apenas" os seguintes itens:
- 1x Digispark Attiny85;
- 1x Cabo USB x Micro USB, desses usados em carregadores de celular (necessário apenas se for a versão com Micro USB);
- 1x fio/jumper qualquer (na verdade, pode ser qualquer coisa metálica, desde que saiba manipular).
Se tiver os terminais da placa, e for utilizá-los depois, pode ser interessante soldá-los agora:
Existe também a opção de terminais curvos:
Baixe o driver necessário para reconhecer a placa no seu PC:
https://github.com/digistump/DigistumpArduino/releases/
Ou diretamente no link:
https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip
Descompacte (em uma pasta de fácil acesso) e execute a instalação:
Para ver se deu tudo certo, entre no diretório, pelo Prompt de Comando. Um atalho é segurar o SHIFT e clicar direito em qualquer lugar da pasta, onde aparecerá um menu com a opção de Prompt de Comando / PowerShell:
No Prompt de Comando, digite (o "TAB" ajuda a autocompletar o nome do arquivo):
micronucleus -?
Agora insira o Digispark na porta USB do seu PC:
Aparecerá a versão do firmware do seu Digispark. Neste exemplo, a versão é a 1.6.
Se tudo deu certo até aqui, quer dizer que seu Digispark está configurado e funcionando corretamente.
Agora, vamos baixar o firmware.
https://github.com/micronucleus/micronucleus
A versão completa, com as opções que precisamos, é a v1.1. Baixe diretamente no diretório upgrade (vou explicar o porquê mais para frente):
https://github.com/micronucleus/micronucleus/tree/v1.11/upgrade/releases
O arquivo que precisamos é o:
https://github.com/micronucleus/micronucleus/blob/v1.11/upgrade/releases/micronucleus-1.11-entry-jumper-pb0-upgrade.hex
Explicando os arquivos:
- os arquivos iniciando com "micronucleus-1.11" significam que são da versão 1.11;
- o nome "upgrade" no final do arquivo será explicado mais a frente;
- o arquivo "micronucleus-1.11-entry-ext-reset-upgrade.hex" significa que o modo de programação será ativado através do reset, o pino PB5 (mostrado a figura mais a frente), e deverá ser programado através de um Arduino ou outro programador;
- o arquivo "micronucleus-1.11-entry-jumper-pb0-upgrade.hex" significa que entrará no modo de programação quando estiver com um jumper conectando o pino PB0 com o GND (negativo, ou terra);
- o arquivo "micronucleus-1.11-ledpb1-upgrade.hex" significa que o LED que está conectado ao pino PB1, sempre iniciará ligado (ON);
- o arquivo "micronucleus-1.11-upgrade.hex" é o firmware normal, com o mesmo tempo de 6s do qual já possuímos.
Pinagem do Digispark:
Decidi utilizar a versão v1.11, porque ela já vem com essas opções compiladas, facilitando o nosso trabalho. A última versão (Master) tem opções de redução do tamanho do firmware, sobrando mais espaço para o nosso sketch.
Devemos utilizar os firmware da pasta "firmware\releases" somente quando o nosso Digispark não possui quaisquer firmware gravado. No nosso caso, já possui um firmware, então, caso tente gravar, ocorrerá um seguinte erro, ao executarmos a instalação do firmware da pasta "firmware\releases":
micronucleus.exe --run micronucleus-1.11-entry_jumper_pb0.hex
O erro ocorrido é "Program file is 1856 bytes too big for the bootloader!". Por quê isso ocorre?
A questão é que nosso Digispark já possui um firmware, então o espaço disponível é muito pequeno. Para isso que serve a pasta "upgrade\releases", que é onde estão os firmware "compactados" para que seja possível atualizar uma placa que já possua um firmware. Após o upload, o firmware é expandido, passando a ocupar o espaço necessário, e todo o sketch existente é apagado.
Para maiores informações, acesse:
https://gist.github.com/valterfc/bc3828a0a85bf6c6df608b37886b1cf5
Agora, vamos gravar o firmware que desejamos. Para isso, digite no Prompt de Comando:
micronucleus.exe --run micronucleus-1.11-entry-jumper-pb0-upgrade.hex
Vale observar que com a troca do firmware, ficamos com mais espaço livre disponível para nosso sketch. Mas para podermos usar esse espaço extra no Arduino IDE, será necessário fazer uma pequena configuração.
Mas isso é assunto para a próxima. Até lá.
Anúncios de Peças de Drone
Segue meus anúncios de peças para Drone:
Frame Drone Racer Diatone Silver Blade PCB 250
https://produto.mercadolivre.com.br/MLB-1174065821-frame-drone-racer-diatone-silver-blade-pcb-250-fibra-vidro-_JM
Rádio Controle Flysky FS-TH9X upgrade
https://produto.mercadolivre.com.br/MLB-1174097988-radio-controle-flysky-fs-th9x-24g-9-canais-mod-2-upgrade-_JM
4x hélices Fibra de Carbono 10x4.7
https://produto.mercadolivre.com.br/MLB-1174252738-quatro-helices-fibra-carbono-10x47-cw-ccw-drone-aeromodelo-_JM
4x hélices Fibra de Carbono 10x4.5
https://produto.mercadolivre.com.br/MLB-1174257600-quatro-helices-fibra-carbono-10x45-cw-ccw-drone-aeromodelo-_JM
4x hélices Fibra de Carbono Phantom 2 9443
https://produto.mercadolivre.com.br/MLB-1174261179-quatro-helices-fibra-carbono-phantom-dji-v2-9443-_JM
em breve terão mais
Frame Drone Racer Diatone Silver Blade PCB 250
https://produto.mercadolivre.com.br/MLB-1174065821-frame-drone-racer-diatone-silver-blade-pcb-250-fibra-vidro-_JM
Rádio Controle Flysky FS-TH9X upgrade
https://produto.mercadolivre.com.br/MLB-1174097988-radio-controle-flysky-fs-th9x-24g-9-canais-mod-2-upgrade-_JM
4x hélices Fibra de Carbono 10x4.7
https://produto.mercadolivre.com.br/MLB-1174252738-quatro-helices-fibra-carbono-10x47-cw-ccw-drone-aeromodelo-_JM
4x hélices Fibra de Carbono 10x4.5
https://produto.mercadolivre.com.br/MLB-1174257600-quatro-helices-fibra-carbono-10x45-cw-ccw-drone-aeromodelo-_JM
4x hélices Fibra de Carbono Phantom 2 9443
https://produto.mercadolivre.com.br/MLB-1174261179-quatro-helices-fibra-carbono-phantom-dji-v2-9443-_JM
em breve terão mais
Assinar:
Postagens (Atom)