O que é Programação Orientada a Eventos?
Share
A Programação Orientada a Eventos (Event-Driven Programming) é o paradigma de desenvolvimento de software onde o fluxo de execução do código é determinado por ocorrências externas chamadas de eventos, tais como cliques em botões, transições de sensores físicos ou recebimento de pacotes de dados pela rede.
Aplicação da Orientação a Eventos em Firmware
Em programação sequencial básica de Arduino, o código fica checando o estado de um pino repetidamente em loop (polling), o que desperdiça processamento e dificulta o tratamento simultâneo de tarefas. Ao implementar interrupções lógicas no Módulo ESP32 NodeMCU, o maker utiliza a lógica orientada a eventos para:
- Interrupções de Pinos (ISR): A CPU pausa a execução atual imediatamente para processar uma sub-rotina de tratamento apenas no momento em que um botão físico é pressionado (evento).
- Servidores Web e Eventos de Rede: O firmware permanece aguardando conexões e executa funções específicas associadas apenas no instante em que um cliente envia uma requisição HTTP.
- Economia Energética: Permite colocar o microcontrolador no modo de descanso (sleep) e acordá-lo via evento físico disparado no pino.
É a base lógica para criar sistemas de automação interativos eficientes e livres de esperas de código (delay) travantes.
Perguntas Frequentes (FAQ)
- O que é Polling na programação de microcontroladores?
- Polling é a leitura constante e repetitiva em loop de um pino (ex:
if(digitalRead(2) == HIGH)), método ineficiente que mantém a CPU ocupada testando a porta continuamente. - Como configurar um tratamento de evento de interrupção por botão no Arduino?
- Utiliza-se a função nativa
attachInterrupt(digitalPinToInterrupt(pino), funcao_evento, FALLING), associando o pino lógico ao evento físico de descida do sinal do botão.