Eu costumo usar fitas de LEDs ws2812 quando preciso de LEDs endereçáveis. Seja quando acabei de receber as fitas no correio ou quando preciso usar alguma antiga que estava guardada, é bem comum precisar testar a fita pra ver se ela funciona. Buscar um arduino, programar ele e conectar à fita com alguns jumpers toda vez que eu preciso testar uma fita é bem chato, então resolvi fazer uma PCB simples pra facilitar os testes.
É só plugar o testador numa fita de LEDs (o conector no alto é pensado pra entrar direto nos conectores JST que costumam vir nas fitas), conectar a energia usando um cabo usb-c comum e o microcontrolador começa a mostrar algumas animações que deixam óbvio se os LEDs estão funcionando como o esperado.
Já que eu ia projetar uma PCB, tentei tornar o mais fácil possível adaptar ela pra outras aplicações. Todos os pinos do microcontrolador estão disponíveis nos conectores para serem usados com outros componentes, se necessário. O conector usb-c também nos permite usar um power bank barato como fonte de alimentação. Por isso, e porque a PCB em si é bem pequena e leve, o testador é bem útil pra aplicações portáteis.
O hardware é projetado com base em um ATTiny85 que é barato, pequeno, leve e não requer muitos outros componentes em volta pra funcionar.
O software foi escrito usando a IDE do arduino com o ATTinyCore e a biblioteca FAB_LED. Essa biblioteca é muito pequena e permite controlar um número bem grande de LEDs usando muito pouca memória, o que torna ela perfeita para usar com o ATTiny85.
Pra funcionar com essa biblioteca, precisamos configurar o ATTiny85
pra rodar a 16MHz usando o PLL interno. Se você está usando o
avrdude e um
usbasp para programar o
microcontrolador, basta executar avrdude -p attiny85 -c usbasp -U
lfuse:w:0xE2:m -B5
.
Todos os arquivos do projeto (hardware e software) são livres e estão disponíveis no repositório do testador ws2812 no github