Arduino Forum

International => Español => Software => Topic started by: Oscar_rocket on Nov 26, 2019, 01:42 am

Title: Pulso y led on 3 seg luego siempre ON
Post by: Oscar_rocket on Nov 26, 2019, 01:42 am
Debo encender un led con un pulsador, al presionar el pulsador el led debe encenderse solo 3 segundos y volver a apagarse, pero si se presiona una segunda vez el pulsador, el led debe quedarse encendido.
Estoy intentando hacerlo usando la función millis(), sin embargo no me queda, necesito un poco de ayuda para saber como hacerlo.
Title: Re: Problema
Post by: Pablo_Lucini on Nov 27, 2019, 02:31 am
Podés subir el código que hayas hecho y entonces podremos ayudarte a corregirlo. Viendo que sos nuevo lee las normas del foro y postea el codigo entre <>.
Title: Re: Pulso y led on 3 seg luego siempre ON
Post by: robertoxyz20 on Dec 02, 2019, 11:44 pm
Creo que no has hecho el debounce (des rebote) del pulsador, lo que pasa es que cuando se pulsa, nunca es uno ó cero, se queda brincando entre esos valores por algún milisegundo xD.
Para evitar eso, usa las librerías de debounce... hay varias y tienen diferentes usos, son muy útiles!
Title: Re: Pulso y led on 3 seg luego siempre ON
Post by: Kike_GL on Dec 18, 2019, 11:12 pm
Quote from: Oscar_rocket
Debo encender un led con un pulsador, al presionar el pulsador el led debe encenderse solo 3 segundos y volver a apagarse, pero si se presiona una segunda vez el pulsador, el led debe quedarse encendido.
La solucion es muy simple, luego de detectar un pulso solo comprueba si el LED esta encendido y eso te indicaria que no es el primer pulso, pero no puedes usar delay() (https://arduwiki.perut.org/index.php/delay()) porque eso detiene la ejecución y el Arduino ya no haría nada.

Revisa millis() (https://arduwiki.perut.org/index.php/millis())