Go Down

Topic: ayuda con proyecto (Read 104 times) previous topic - next topic

JBenito

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

victorjam

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:

Code: [Select]

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.

ElEspanol

Proponer usar Pin 1 en un Arduino es malo. Esta en uso para el puerto de serie en los con el uC 328

Go Up