Niedrigste Themperatur auslesen

Hallo, ich bin noch Anfänger in der Programierszene und hätte da ne Frage. Ich möchte für meinen Hühnerstall einen Themperatursensor installiern und dann die niedrigste Themperatur des Tages auf einem Display anzeigen lassen. Das Auslesen des Sensors ist nicht das Problem sondern wie kann ich dem Arduino sagen er soll die niedrigste Themeratur auslesen?

Der Arduino wird alle Temperaturen auslesen und du musst darauf die niedrigste nach einem Vergleich anzeigen.

Also etwa so (Pseudocode):

float minTemp = 9999.9;
...
// im loop
float temp = messen();
if (temp < min) minTemp = temp;
Serial.println(minTemp);

Gruß Tommy

Eine Standard Funktion: https://www.arduino.cc/reference/en/language/functions/math/min/

Hi

Tagsüber solltest Du diese Temperatur aber wieder resetten, sonst bekommst Du eher eine Anzeige 'tiefste Temperatur seit 10.12.18'.

MfG

Danke für die schnelle Antwort und den Code.
Ich werde die Themperatur natürlich am Tag wieder zurücksetzen,vermutlich über den Lichtsensor,der sowieso verbaut ist da die automatische Klappe auch über diesen Sensor gesteuert wird.

Hi

Wobei ich hier dann den Reset auf den Zeitpunkt setzen würde, an Dem die Klappe wieder zu fährt. So hast Du den ganzen Tag die tiefste Nacht-Temperatur gespeichert und musst nicht noch vor den Hühnern am Hühnerstall sein, um diese Temperatur auszulesen :o

MfG

Das ist ein guter Einwand, denn mit dem Helligkeitssensor wird es arg früh ;)

Gruß Tommy

Man kann auch eine Art Warteschlange bilden (Array), durch das man die Temperaturen der letzten 6, 12 oder 24h schiebt und davon dann jeweils die niedrigste anzeigen. Die neuesete Messung verdrängt jeweils die älteste.

So kommt man um die Mühe herum, das System irgendwie mit der Uhrzeit (RTC, DCF) oder dem Tagesablauf (Helligkeitssensor) synchronisieren zu müssen.

Für Anzeigen, die sich nur selten ändern und wenig Strom verbrauchen sollen, sind übrigens E-Paper besonders gut geeignet.

noiasca: sich einfach zum jeweiligen Min und Max auch den millis Zeitstempel merken, und einen Wert der älter als 24h ist, auch überschreiben wenn das Min nicht unterschritten ist (bzw das Max überschritten).

Das überdeckt 24 Stunden lang alle anderen Werte, ist eher ungünstig denke ich.

Hi

Stichwort: FRAM Für meine Finger als SMD zwar irgendwie ... nun ja ... aber Da muß man dann halt durch. Als DIP-8 nur bis 512 Byte (4kb =k-Bit, kleines B) - verwende ich hier aber auch gerne. Die SMDs sind bisher nur auf Adapter-Platinen gelandet, zwei grinsen mich gerade an und müssten Mal verdrahtet werden - Da wären dann 32kB (=256kb - wieder kleines B) Platz drin, maximal 8 Stück von den 32kB und maximal 4 von den 512Byte'ern können zusammen am gleichen I²C-Bus hängen.

Zumindest mit der 256k-Bit-Variante sollten sich auch ein paar mehr Messungen aufheben lassen - wie EEprom Datenerhalt bei Spannungsausfall.

MfG

Wenn man einen gleitenden Wert haben will, könnte man jeweils die niedrigste Temperatur in Stundenintervallen ermitteln. Dann würden 24Byte zum Speichern reichen. Das sollte selbst bei umfangreichen Projekten drin sein.