O "Kit Letreiro Digital IoT" é um produto da MakerHero. Ganhei de Natal, montei, fiz um vídeo a respeito e registro aqui alguns comentários sobre ele.
O objetivo deste kit é apresentar em um display de pontos mensagens recebidas via Telegram. O meu interesse neste kit vem de uma ideia (nunca concretizada) de montar um letreiro usando displays 8x8 individuais e módulos RF da Texas (esta ideia estava como "Display RF" na primeira versão da GLIP).
A minha ideia foi abandonada por alguns motivos:
- A complexidade de interligar os displays
- A complicação da programação dos módulos da Texas
- O uso de um protocolo proprietário de RF
- A necessidade de usar dois módulos RF, um conectado ao display e o outro conectado a um micro
O kit da MakerHero resolve estes problemas com o uso de módulos prontos e algumas bibliotecas para a IDE Arduino.
Hardware
O hardware é composto por:
- Uma bateria LiPo
- Um módulo carregador
- Um módulo regulador de tensão (step up) para converter a tensão da bateria em 5V
- Um Wemos D Mini Pro*
- Um módulo display de 32x8 pontos
* a rigor o que vem no kit é um clone da versão 1 do Wemos D Mini Pro. O D1 mini utiliza um ESP8266, as versões Pro tem 16M de Flash. A versão 2 tem um formato diferente e suporte a bateria recarregável.
O módulo display tem 4 displays de 8x8, cada um com um controlador MAX7219. Os quatro controladores estão ligados em série. Desta forma só precisa de cinco conexões: GND, VCC, DIN, CLK e LOAD.
Software
O software foi desenvolvido no ambiente Arduino. O principal componente é a biblioteca CTBOT, que cuida de toda a comunicação com o Telegram (e até a conexão do WiFi). Duas pegadinhas:
- Use a versão mais recente do CTBOT, a indicada na documentação da Maker Hero não funciona mais devido a um problema de validação de certificado.
- O CTBOT requer a biblioteca ArduinoJSON, mas não funciona com a versão mais recente. A versão recomendada (no momento) é 6.19.4. Confira na documentação do CTBOT (link acima).
Para o controle do display são usadas duas bibliotecas:
- LedControlSpipESP8266 é uma biblioteca de baixo nível para falar com o MAX7219 usando SPI. Apesar do nome, não é específica ao ESP8266.
- ESP8266-FC16 implementa funções de escrita de caracter e rolagem de texto usando a LedControlSpipESP8266.
O programa principal é bastante enxuto, inicia o bot e o display, fica rolando a mensagem atual e periodicamente testa se tem uma mensagem nova.
Documentação e Montagem
A documentação e instruções de montagem estão no site da Maker Hero na forma de um curso. O acesso ao curso é dado quando é feito a compra do kit.
As instruções são bem detalhadas e repletas de fotos e figuras.
Além dos módulos eletrônicos, o kit inclui (opcionalmente) a caixa impressa em 3D, fios para a interconexão e uma chave liga/desliga. A montagem requer algumas ferramentas (listadas na descrição do produto). É preciso soldar alguns fios e acertar a saída do regulador de tensão com um multímetro.
Resultado
A única dificuldade na montagem foi a questão da versão do CTBOT, que exigiu uma pequena sessão de depuração. Acertado isso, funcionou como esperado.
Evoluções
Pessoalmente acho que o ESP8266 já está superado, acho que dá para trocar por um ESP32-C3 (Supermini ou Zero) talvez até sem mudar o software.
Tem alguns detalhes que eu melhoraria no software: apresentar mensagens durante a iniciação (para facilitar depurar problemas de conexão) e converter os caracteres acentuados do português em caracteres sem acento (ao invés de apresentar lixo no display).
No lugar do Telegram podem ser usadas outras fontes para receber a mensagem a apresentar. Por exemplo hospedar um mini site no ESP. Outra opção é usar Bluetooth.
O kit simplifica a montagem e traz a caixa impressa, mas não é difícil comprar os módulos e fazer uma montagem. Usando um XIAO (ou mesmo um Wemos D Mini Pro v2) dá para ligar direto a bateria, dispensando o carregador e o regulador. Dá para usar dois módulos de display para aumentar a largura. Existem também módulos com 32x8 LEDs RGB endereçáveis, o que permitiria usar cores (e aumentaria bastante o consumo quando usar intensidade alta em muitos LEDs).

Nenhum comentário:
Postar um comentário