Botões no ESP32: debounce por software e eventos de borda
Implemente leitura de botões sem acionamentos repetidos causados por ruído e repique mecânico.
debounce botão ESP32O problema e por que importa
Contatos mecânicos não mudam de nível apenas uma vez; eles podem oscilar por alguns milissegundos. Se cada oscilação dispara uma ordem, um toque pode alternar repetidamente um relé.
Como estruturar a implementação
Configure corretamente pull-up ou pull-down, faça amostragem com intervalo conhecido e considere estável somente uma mudança sustentada. Converta a detecção em eventos de pressão, soltura e, se necessário, acionamento longo.
Testes que ajudam a validar a solução
Teste toque curto, toque longo, cabo comprido e atuação simultânea de múltiplas entradas. Confirme que o firmware responde uma vez por ação e que uma falha de rede não muda a lógica local.
Cuidados, limitações e erros comuns
Interrupções devem fazer o mínimo de trabalho possível. Não dependa de filtros de software para compensar ligação elétrica incorreta ou entrada sem referência definida.
Checklist de revisão
- Definir polaridade da entrada
- Aplicar debounce com tempo medido
- Testar ruído e eventos duplicados
Onde continuar estudando
Este guia é um material técnico educativo, não uma especificação contratual de recursos disponíveis na plataforma. Para fluxos e exemplos da TechRib, consulte a documentação pública. Para conhecer o produto, explore a demonstração e os planos.