Buenas tardes gente,
Estoy realizando un proyecto en el cual debo alternar un extractor de ambiente y un ventilador, ambos dispositivos los manejo con relé.
El extractor de ambiente utiliza 220v de la red casa y el ventilador lo recicle de una base para ventilar laptops y es de 5v, el cual alimento con la tensión que me brinda el mismo Arduino.
Cuando trabaja la función del extractor sola, respeta los tiempos de encendido y apagado, el problema se me presenta cuando activo la función del ventilador, empiezan a conmutar entre si en lapsos de un segundo (se prende uno y se apaga el otro).
Les adjunto las dos funciones para que alguien con mayor experiencia que yo pueda ayudarme, desde ya les agradezco su colaboración.
Estoy realizando un proyecto en el cual debo alternar un extractor de ambiente y un ventilador, ambos dispositivos los manejo con relé.
El extractor de ambiente utiliza 220v de la red casa y el ventilador lo recicle de una base para ventilar laptops y es de 5v, el cual alimento con la tensión que me brinda el mismo Arduino.
Cuando trabaja la función del extractor sola, respeta los tiempos de encendido y apagado, el problema se me presenta cuando activo la función del ventilador, empiezan a conmutar entre si en lapsos de un segundo (se prende uno y se apaga el otro).
Les adjunto las dos funciones para que alguien con mayor experiencia que yo pueda ayudarme, desde ya les agradezco su colaboración.
C:
//------------------------------------------------
// funcion horario extractor
//------------------------------------------------
void horarioExt() {
byte hora = 0;
while(hora < 24) {
if(horario.hour() == hora && ((horario.minute() >= 0) && (horario.minute() <= 39))) {
digitalWrite(PIN_RELE1, HIGH); // enciende
Serial.println("Extractor Encendido");
break;
}
else if(horario.hour() == hora && ((horario.minute() >= 40) && (horario.minute() <= 59))) {
digitalWrite(PIN_RELE1, LOW); // apaga
Serial.println("Extractor Apagado");
break;
}
hora++;
}
}
//------------------------------------------------
// funcion horario ventilador
//------------------------------------------------
void horarioVen() {
byte hora = 0;
while(hora < 24) {
if(horario.hour() == hora && ((horario.minute() >= 40) && (horario.minute() <= 59))) {
digitalWrite(PIN_RELE3, LOW); // enciende
Serial.println("Ventilador Encendido");
break;
}
else if(horario.hour() == hora && ((horario.minute() >= 0) && (horario.minute() <= 39))) {
digitalWrite(PIN_RELE3, HIGH); // apaga
Serial.println("Ventilador Apagado");
break;
}
hora++;
}
}