Hallo zusammen, habe mal wieder eine Frage an der ich scheitere :~
Ich habe 2 Taster an meinen Arduino um meine gespeicherten Min und Max Temperaturen anziegen zu lassen. Wenn keine Taste gedrückt ist, wird die aktuelle Temperatur und Luftfeuchte angezeigt. Mein wunsch ist es noch einen DCF77 Empfänger (Pollin) anzuschließen und mit einem weiteren Taster den Screen komplett auf "Uhrzeit / Datum" Anzeige umschalten zu können. Mit den 2 Tastern für die Max und Min Temp wird der Screen auch umgeschaltet aber nur für ca. 10s. Das ist auch gut und so gewollt. Aber wie bekomme ich es hin das die Uhrzeit und Datumsanzeige dauerhaft mit dem 3ten Taster angezeigt wird solange bis er erneut gedrückt wird? Dabei soll aber der Rest der loop weiterlaufen da hier später noch Tempwerte per Ehternet und GET weitergegeben werden sollen. Bin da etwas überfragt. Habt ihr ein Denkanstoß für mich? Dachte ich könnte den 3ten Taster "zählen" wie oft er gedrückt wurde und bei gerader Zahl soll die Temp Anzeige kommen und bei ungerader dann die Uhrzeit und dies per While Schleife, jedoch fürchte ich das der Rest der Loop in der Zeit einfach stehen bleibt. Sorry für die wahrscheinlich lächerliche Frage, aber irgendwie habe ich einen ziehmlichen Knoten im Moment im Kopf. Anbei noch meine Loop:
void loop(void) // Diese Loop wird ständig wiederholt
{
Backlight(); // Aufruf der "Backlight" Loop
UpdateMinMax(); // Min. und Max. Temp. / Luftfeuchte ermitteln und speichern
buttonState = digitalRead(analogPin1); // Min. Taster überwachen
buttonState2 = digitalRead(analogPin2); // Max. Taster überwachen
if (buttonState == HIGH && tempupdate == 0) { // Wenn kein Taster gedrückt ist und Tempupdate = 0
ShowActual(); // dann aktuelle Werte darstellen
}
if
(buttonState == HIGH && tempupdate == 1) { // Wenn kein Taster gedrückt ist und Tempupdate = 1
ShowUpdate(); // dann Screen updaten
}
if
(buttonState == LOW && tempupdate == 0) { // Wenn Min. Taster gedrückt ist und Tempupdate = 0
ShowMin(); // zeige Minimale Temperaturen und Luftfeuchte
}
if
(buttonState2 == LOW && tempupdate == 0) { // Wenn Max. Taster gedrückt ist und Tempupdate = 0
ShowMax(); // zeige Maximale Temperaturen und Luftfeuchte
}
}