quarta-feira, agosto 21, 2019

Projeto: Contagem Regressiva

Este é mais um dos meus "projetos quase inúteis com excesso de tecnologia". Como vocês devem ter visto nos posts de aniversário do blog, eu gosto de mostrar contadores em displays. No caso eu queria mostrar uma contagem regressiva para um evento, em semanas e dias.



Após pensar em várias opções de display, acabei optando por barras de LED. Tenho modelos em duas cores e o encapsulamento é muito simples: cada display tem 10 LEDs, os pinos de cima são os anodos e os de baixo os catodos.

Para saber quanto tempo falta eu pensei em usar um ESP8266 obtendo a data e hora via NTP (daí surgiu o post anterior). Faltava ver como controlar um monte de LEDs com os poucos pinos do ESP8266 que ia usar (um WeMos D1 mini).

O ingrediente final foi um MAX71219, que já vimos por aqui. É um exagero para esta aplicação, mas torna a montagem bem simples. Pelo datasheet é incorreto ligar direto os sinais de comunicação em 3,3V, mas funcionou e deixou a montagem limpa.

Embora eu não precise de tantos LEDs, a montagem usa 8 LEDs de cada display:


A aplicação não deu muito trabalho. Eu organizei as rotinas do SNTP e do MAX7219 em classes para o código principal ficar mais simples e limpo. O resultado está no github.

Não é muito difícil alterar o projeto para fazer coisas como substituir os displays de barra por displays de 7 segmentos, acrescentar mais displays e apresentar informações diferentes (como dias e horas).

Nenhum comentário: