Olá garagistas, estou com esse codigo de um timer. O codigo funciona sem problemas, porém gostaria de modificar um detalhe nele e não estou achando a solução. No hardware tenho simplismente um potenciometro no pino A0 para controlar o tempo do timer e um botão conectado em 5 volts para dar o start, quando aperto o botão, ele envia 5volts para a porta 2 assim então rodando o código. O problema que se eu apertar o botão e não soltar a saida no pino 8 fica sempre em nivel alto, no caso preciso soltar o botão para o codigo rodar corretamente. Gostaria de permanecer com o botão apertado e mesmo assim conseguir rodar o codigo. Ai vai o código:

Exibições: 326

Anexos

Responder esta

Respostas a este tópico

SGF,

testa este sketch.

Lembre-se que o port 2 deve ser sempre ou LOW ou HIGH,

ou seja não pode ficar em estado "flutuante" .

RV

Anexos

RV,

era exatamente isso. Funcionou beleza. Coloquei um resistor 10k na porta 2 ligado ao terra e funcionou sem erro. Muito obrigado. Abraços

Ola Rui, e se eu usasse um sensor que funcionasse da seguinte maneira, quando o sensor detecta o objeto ele fica em nível baixo e quando ele não detecta, ele fica em nível alto. Qual modificações teriam que ser feita no código? Obrigado

Boa tarde SGF,

modifique esta linha:

attachInterrupt(0, ligaRele, RISING);

para que fique assim:

attachInterrupt(0, ligaRele, FALLING);

E teste aí

RV

Boa tarde Rui, já fiz isso aí a saída funciona por 2 vezes, na hora que o sensor detecta o objeto que o sinal cai de 5v para 0v e quando ele deixa de detector o objeto, quando o sinal vai de 0 para 5v. O correto  seria funcionar somente uma vez quando o sinal vai de 5v para 0v.

Não deveria, pois o interrupt só acontece no "FALLING" .

FALLING = queda = +5V para 0 V.

Vc removeu a linha: attachInterrupt(0, ligaRele, RISING);?

e substituiu pela : attachInterrupt(0, ligaRele, FALLING); ?

RV

Sim ja modifiquei, ele funciona, mas quando o objeto se afasta do sensor(0v para 5v) ele repete o timer pela segunda vez.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço