requiero apoyo.
quiero saber como puedo dar un tiempo de toleracia a un a salida ejemplo si esta mucho tiempo activada que despues de este tiempo me mande una alerta sonora
ayuda por favor
Bienvenido al foro. Te invito a que pases por las NORMAS y edites el titulo acorde a lo que solicitas, es poco especifico.
En cuanto a tu problema, se que quieres una solución inmediata, pero piensa que soy un profesor (que no lo soy) y que te ayudo a hacer un ejercicio, no te voy a dar la solución, pero si una ayuda a resolver el problema.
Necesitas usar millis. Si la salida esta activa, empiezas a contar y si ha transcurrido un tiempo que haga lo que quieres:
const int salida = 1; // Pin de salida.
unsigned long tempo; // variable de tiempo.
void setup() {
pinMode(salida, OUTPUT);
}
void loop() {
int x = digitalRead(salida);
if ( salida == LOW ) // No esta activa.
{
tempo = 0;
}
else // La salida esta activa.
if ( tempo==0 ) { // Si la variable vale 0, entonces inicio el temporizador con millis.
tempo = millis();
}
else // está activa y el tempo ya ha sido iniciado.
{
if ( millis()-tempo>duración) {
activoAlarma();
}
}
}
Lee el código he intenta entenderlo. Si lo entiendes solo tienes que aplicarlo a tu código. Y creo que he dejado un codigo totalmente funcional.
Proponer usar Pin 1 en un Arduino es malo. Esta en uso para el puerto de serie en los con el uC 328