Temporizador

Hola comunidad, tengo una duda que me esta dando mucho que hacer estos días.

resulta que quiero hacer una alarma, que cuenta con un pulsador el cual al accionarse o presionarse activa un LED y ademas después de un tiempo como el del código (10 segundos), se activara un zumbador.

mi problema es a la hora de de volver a presionar el pulsador para que desactive todo. Lo que me pasa es que cuando lo presiono no se desactiva inmediatamente, sino que a los 10 segundos.

agradezco que pueda ayudarme alguien, gracias.

void setup(){ 
   pinMode(5, INPUT);   //pin como entrada Pulsador
   pinMode(3, OUTPUT);  //pin como salida LED
   pinMode(2, OUTPUT);  //salida zumbador
} 
void loop(){ 
if (digitalRead(5)==HIGH){  //ver si la entrada esta en alto
  digitalWrite(3, HIGH);  //enciede led
  delay(10000);  // tiempo antes de que se active el zumbador
  digitalWrite(2, HIGH);
}
else {

  digitalWrite(2, LOW);
  delay(500);
  digitalWrite(3, LOW);
        
}
}

Use a millis() instead of delay and check a button state at the same loop where you checking millis.

alesam:
Use a millis() instead of delay and check a button state at the same loop where you checking millis.

Muchas gracias por ayudar.

No se muy bien a lo que se refiere a que realice, me es confuso esto, ya llevo dos semanas tratando de comprender el funcionamiento del lenguaje C++ de arduino y me a costado mucho realizar lo que hice.

me seria un poco mas fácil si me indicara exactamente en que delay debo cambiar por millis.

  • el tiempo que yo deje de 10 segundos pretendo variarlo a 3 minutos también o 2 minutos.

gracias.

Я плохо понимаю испанский язык. Может перейдем на русский?

alesam:
Я плохо понимаю испанский язык. Может перейдем на русский?

Hola
En simples palabras lo que quiero realizar es una alarma que se controle con un pulsador normal cerrado (NC).
El pulsador al estar presionado no tendrá ninguna acción, se encontrará todo apagado.
Al soltar el pulsador se deberá prender un led, y a los 10 segundos después se deberá prender el zumbador.
El problema que tengo, es que cuando presiono el pulsador para que se apague todo, comienza a contar el mismo tiempo que tengo en el código (10 segundos), no se apaga al instante de presionar. Yo quiero que se apague de inmediato, pero no lo logro hacer.

Agradezco toda la ayuda.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Hello
In simple words what I want to do is an alarm that is controlled by a closed normal push button (NC).
The push-button, when pressed, will have no action, everything will be turned off.
When releasing the button, a led should light up, and after 10 seconds the buzzer should turn on.
The problem I have, is that when I press the button to turn off everything, it begins to count the same time I have in the code (10 seconds), it does not turn off at the moment of pressing. I want it to go off immediately, but I can not do it.

I appreciate all the help.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

привет
Проще говоря, что я хочу сделать, это сигнал тревоги, который управляется закрытой нормальной кнопкой (NC).
Нажатая кнопка не будет действовать, все будет выключено.
При отпускании кнопки должен загореться светодиод, и через 10 секунд должен включиться зуммер.
У меня проблема в том, что когда я нажимаю кнопку, чтобы выключить все, он начинает считать то же самое время, что и в коде (10 секунд), он не выключается в момент нажатия. Я хочу, чтобы это немедленно сработало, но я не могу этого сделать.

Я ценю всю помощь.
privet
Proshche govorya, chto ya khochu sdelat', eto signal trevogi, kotoryy upravlyayetsya zakrytoy normal'noy knopkoy (NC).
Nazhataya knopka ne budet deystvovat', vse budet vyklyucheno.
Pri otpuskanii knopki dolzhen zagoret'sya svetodiod, i cherez 10 sekund dolzhen vklyuchit'sya zummer.
U menya problema v tom, chto kogda ya nazhimayu knopku, chtoby vyklyuchit' vse, on nachinayet schitat' to zhe samoye vremya, chto i v kode (10 sekund), on ne vyklyuchayetsya v moment nazhatiya. YA khochu, chtoby eto nemedlenno srabotalo, no ya ne mogu etogo sdelat'.

YA tsenyu vsyu pomoshch'.