Como fazer um gatilho de interrupção com sinal analógico

Eu estava aqui devaneando sobre alguns dados dos artigos em meus rascunhos e acabei chegando a um ponto em que achei interessante escrever sobre essa dica, que é simples, mas muitas pessoas ainda não utilizam. Pense que você tem um programa no fluxo principal do seu Arduino e gostaria de ter uma interrupção para quando ocorrer um evento externo. Porém, o dispositivo externo (seja ele qual for) só disponibiliza um sinal analógico (5V ou mais, não importa). Para um exemplo real, suponhamos que você quer saber quando a lâmpada de um determinado interruptor foi ligada. Claro que você poderia ler constantemente um valor no pino analógico do Arduino (ou outra MCU ou CPU, não importa), mas esse trabalho haveria de entrar no código principal, no loop, e somente seria lido no momento em que se iniciasse um novo ciclo.

Como gerar o gatilho





Tudo o que você precisa fazer quando tem um sinal analógico é definir o limite de tensão que gerará o gatilho. Por exemplo, você tem um sinal que varia entre 0V e 5V e quer definir um limite em 3V para tomar uma ação. Antes do pino digital da interrupção, coloque um divisor de tensão, definindo o limite que deve passar. Supondo que haja variação comum em torno de 3.5V, nada passará para o pino digital antes do limite estipulado de 3V e então esse 0.5 até 5V-3V será seu gatilho.

Divisor resistivo

Para fazer esse dividor resistivo é simples. Tome por base esse outro artigo, onde trato apenas sobre isso.

Interrupções com Arduino

E para fazer a interrupção, apenas siga os passos descritos nesse outro tutorial.

Pronto, agora você já tem um gatilho baseado em um sinal analógico para utilizar com interrupção. Legal ou não?

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do bit Ao Byte – https://www.facebook.com/groups/dobitaobyte/

Projetos Arduino e Eletrônica – https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 BR – https://www.facebook.com/groups/ESP8266BR/

Próximo post a caminho!

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.