Sprawa okazała się prostsza niż myślałem.
Wystarczyło pozatrzaskiwać zmienne czasu w zależności od różnicy temperatur.
A później utworzyć warunki ze zwłoką czasu.
Wystarczyło pozatrzaskiwać zmienne czasu w zależności od różnicy temperatur.
Kod:
if (tf == 1) {
czas_start = millis();
Serial.begin(9600);
Serial.print("czas start ");
Serial.println(czas_start);
Serial.print("czas teraz ");
Serial.println(czas_teraz);
}
else
{
czas_teraz = millis();
Serial.begin(9600);
Serial.print("czas start ");
Serial.println(czas_start);
Serial.print("czas teraz ");
Serial.println(czas_teraz);
}
Kod:
if ((czas_start - czas_teraz > czas_zwloka)&&(tf ==1))
{
digitalWrite(FILTR, LOW);
lcd.setCursor(18, 3);
lcd.print("*");
to = 1;
}
if ((TEMP_POMPY <= 2) && (to == 1)&&(czas_teraz - czas_start > czas_zwloka)) {
digitalWrite(FILTR, HIGH);
lcd.setCursor(18, 3);
lcd.print("-");
to = 0;
}
}