Alarme com teclado para senha e espera para armar e desarmar... millis, delay ou timer?

Bem, estou fazendo um alarme para minha casa, nao optei por controle remoto mas sim por teclado, em virtude de custos.

o que preciso fazer é o seguinte, coloquei um sensor de abertura do portao para qdo eu chegar de carro, e gostaria de colocar um tempo de 30 segundos para desarme do alarme sem que o mesmo disparasse... porem qdo compilo, a função do teclado fica travada no delay de 30 segundos, enquanto nao passa esses 30 segundos nao posso digitar, e qdo passa a sirene dispara, incomodando... alguma sugestao de como eu executo esses "30" segundos sem travar no delay o teclado?

tanto com millis qto com timer1 nao da certo, so funciona com mudança de condição igual leds, mas para o que quero que é contar o tempo, tudo ta caindo no delay... tudo paralisa o sistema... olha o que fiz com o millis como vc me disse:

while (contador<30) {
long diferenca = millis() - timestamp;

if (diferenca > DELAY) {
Serial.println(contador);
digitalWrite(led13, !digitalRead(13));
timestamp = millis();
alarmearmado = 1;
contador++;

dai se eu quiser desarmar o alarme, ou se eu usar o mesmo codigo para hora que entrar e casa, ele "congela" o sistema durante os 30 segundos, ou seja so posso desligar o alarme depois desse tempo, e dai dispara a sirene enquanto nao entro a senha...

essas sao as variaveis definidas no setup

Exibições: 148

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço