Bom dia

Gostaria da ajuda de vocês para fazer uma modificação nesse código para Arduíno que segue em anexo.

Esse é um projeto de alarme caseiro a laser.

O Alarme dispara quando o feixe de luz do laser é interrompido e deixa de iluminar o sensor LDR. Ao disparar o alarme, a sirene fica tocando infinitamente até que alguém aperte um botão que tem no circuito para desarmar.

Minha dúvida é o seguinte, eu gostaria que após o alarme tenha sido disparado que tenha um tempo limite que a sirene ficasse acionada, nesse caso o sinal é mandado pelo Arduíno para o rele pelo pino 13, eu gostaria que esse pino mandasse o sinal por apenas uns 10 segundos e após isso parasse de mandar sinal para o pino 13 desligando o rele, assim a sirene iria parar de tocar.

Segue o código e circuito em anexo, ele está todo comentado, está fácil de entender o funcionamento, mas eu sou novo no assunto e não sei modificar.

agradeço desde já.

willian

Exibições: 551

Anexos

Responder esta

Respostas a este tópico

Boa tarde WAVL,

veja se este sketch ajuda.

RV

Anexos

Boa noite.

Amigo, muito obrigado pela ajuda, mas infelizmente não funcionou. O rele continua armado mesmo depois dos 10 segundos. Eu encontrei um jeito de desligar o rele usando a função delay porém após a função entrar em ação as outras funções do alarme trava e o Arduíno mantem apenas o ciclo de liga e desliga do rele.

O problema é que após entrar em ação a função delay é necessário dar um reset no Arduíno para que tudo volte a funcionar novamente, ai fica complicado porque é preciso apertar o botão do Arduíno e do alarme, não é possível eu fazer isso usando meu controle a distancia.

if (AcionaSireneEMantem == 1 ) {// Se o valor da variável AcionaSireneEMantem for igual a 1.

digitalWrite(Sirene, HIGH);
delay(5000);
digitalWrite(Sirene, LOW);
delay(55000);
// Liga a sirene.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço