Professional Documents
Culture Documents
Activation Relas
Activation Relas
h>
void setup() {
Serial.begin(9600);
delay(3000);
pinMode(espumaPin, INPUT_PULLUP);
pinMode(aguaPin, INPUT_PULLUP);
pinMode(shampooPin, INPUT_PULLUP);
pinMode(pausaPin, INPUT_PULLUP);
pinMode(espumaRelayPin, OUTPUT);
pinMode(aguaRelayPin, OUTPUT);
pinMode(shampooRelayPin, OUTPUT);
digitalWrite(espumaRelayPin, LOW);
digitalWrite(aguaRelayPin, LOW);
digitalWrite(shampooRelayPin, LOW);
}
void loop() {
checkButton(espumaPin, "Espuma", espumaRelayPin);
checkButton(aguaPin, "Agua", aguaRelayPin);
checkButton(shampooPin, "Shampoo", shampooRelayPin);
checkButton(pausaPin, "", 0);
printTimeLeft();
}
void pauseRelay() {
if (relayActivated && !relayPaused) {
digitalWrite(espumaRelayPin, LOW);
digitalWrite(aguaRelayPin, LOW);
digitalWrite(shampooRelayPin, LOW);
relayPaused = true;
pauseStartTime = millis();
Serial.println("Sistema en pausa");
}
}
void resumeRelay() {
if (relayActivated && relayPaused) {
digitalWrite(espumaRelayPin, activeProduct == "Espuma" ? HIGH : LOW);
digitalWrite(aguaRelayPin, activeProduct == "Agua" ? HIGH : LOW);
digitalWrite(shampooRelayPin, activeProduct == "Shampoo" ? HIGH : LOW);
relayPaused = false;
totalPauseTime += millis() - pauseStartTime;
Serial.println("Sistema reanudado");
}
}
void printTimeLeft() {
if (relayActivated && !relayPaused) {
unsigned long elapsedTime = millis() - relayActivationTime - totalPauseTime;
int timeLeftInSeconds = (relayDuration - elapsedTime) / 1000;
int minutesLeft = timeLeftInSeconds / 60;
int secondsLeft = timeLeftInSeconds % 60;