Código:
#include<16f84A.h>
#fuses XT,NOLVP,NOWDT
#use delay(clock=4000000)
void main()
{
int i;
output_low(PIN_B0); // Estado bajo del pin B0 indica que el relé está desactivado.
while(TRUE)
{
if(input(PIN_A4))
{
output_high(PIN_B0); // Activo el relé.
delay_ms(60000); // Retardo de un minuto...
delay_ms(60000); // Retardo de un minuto...
output_low(PIN_B0); // Desactivo el relé.
}
}
}
Otro ejemplo:
Código:
#include<16f84A.h>
#fuses XT,NOLVP,NOWDT
#use delay(clock=4000000)
void main()
{
int i;
output_low(PIN_B0); // Estado bajo del pin B0 indica que el relé está desactivado.
while(TRUE)
{
if(input(PIN_A4))
{
output_high(PIN_B0); // Activo el relé.
for(i=2;i>0;i--) delay_ms(60000); // Retardo de dos minutos...
output_low(PIN_B0); // Desactivo el relé.
}
}
}
Está en C y como puedes ver, funciona como un esclavo, ya que si vuelvo a pulsar el botón para deterner el temporizador, no puede ejecutar esa acción o cualquier otra hasta que se acabe el tiempo, en este caso este temporizador dura 2 min.
Falta por harcer esa parte, desde que esté contando hacia atrás 2 min, el tiempo se acaba y se queda el relé apagado. Si pulsas el botón se activa el temporizador, el tema es que al pulsar de nuevo el mismo botón que sea capaz de detenerlo y se quede desactivado.
Saludo.