Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Neste Instructable, mostro como fiz um teclado alimentado por bateria para habilitar e desabilitar meu alarme doméstico. No futuro, pretendo fazer um aprimorado que tenha um leitor RFID incluído e que não seja alimentado por bateria. Também pretendo ler um teclado por meio de um chip I2C, já que minha configuração atual usou a maioria dos pinos GPIO expostos do meu módulo ESP8266 (ESP12F).
O gabinete é impresso em 3D. Ele tem um botão liga / desliga e um LED indicador WS2812b. Ele se comunica via MQTT e tem uma interface da web para visualizar o status e atualizar o firmware
Suprimentos
Comprei meus componentes no Aliexpress
Teclado de 16 teclas: link
Módulo ESP12F: link
Bateria LiPo: link
Alfinetes do Pogo para envio: link
breakout board para upload: link
Etapa 1: Como funciona o teclado de alarme - Software
O código está publicado no meu Github.
Nos fluxos anexos, o programa é explicado.
A gravação da sequência de teclas começa pressionando a tecla '*' e termina pressionando a tecla '#'. Se a sequência de teclas predefinida correta for inserida, o alarme será habilitado ou desabilitado.
O teclado de alarme se comunica via MQTT com meu sistema de automação residencial rodando Openhab. O teclado de alarme é registrado no tópico MQTT 'estado de alarme' e publica no 'tópico de comando de alarme'.
Se a minha domótica receber bem o comando ON no 'tópico de comando de alarme', liga o alarme e confirma-o no 'tópico de estado de alarme'. Desta forma, tenho certeza de que o comando de alarme é bem recebido e processado.
As mensagens no 'tópico de estado de alarme' são retidas. Portanto, se você desligar o teclado de alarme alimentado por bateria e ligá-lo novamente, verá o estado do alarme por meio do LED indicador quando ele for conectado novamente ao intermediário MQTT.
Etapa 2: Upload do código
O código é programado e carregado via Arduino IDE.
Eu preparei uma placa de breakout ESP com pinos de pogo, para que eu pudesse fazer o upload do código facilmente para o módulo ESP-12F vazio, veja as fotos em anexo. Basta usar um programador FTDI definido para 3,3 V conectado a:
- FTDI para módulo ESP
- 3,3 V para VCC e EN
- GND para GND, GPIO15 e GPIO0 (para definir o ESP8266 no modo flash)
- RX para TX
- TX para RX
Assim que o dispositivo estiver ligado e conectado à sua rede WiFi, você pode se conectar ao seu endereço IP e ver o alarme e o status da bateria na interface da web e atualizar o código OTA carregando o arquivo.bin via
Etapa 3: O Hardware
O hardware é bastante simples. Veja os comentários nas fotos anexas. Eu prefiro usar cabeçalhos fêmeas para montar e desmontar facilmente o dispositivo para depuração e atualização.
- O dispositivo é alimentado por uma bateria LiPo (carregada externamente).
- Por meio de uma chave deslizante, a energia é conduzida a um regulador de tensão para obter 3,3 V em VCC do ESP8266, usando tampas.
- A tensão da bateria também é alimentada no ADC do ESP8266 por meio de um divisor de tensão (20k e 68k).
- Os 8 pinos do teclado são conectados aos 8 pinos do ESP8266
- O LED indicador WS2812b está conectado à bateria, GND e GPIO15 do ESP8266.
Se você gostaria de um esquema do circuito eletrônico, por favor me avise nos comentários.
Etapa 4: montagem
Os arquivos STL do caso são publicados no meu Thingiverse.
A caixa pode ser facilmente aberta para carregar a bateria.
A bateria está colada na parte de trás do teclado. O interruptor deslizante e o LED são colados na caixa.
Por meio dos pinos do cabeçalho, os componentes são conectados.