Vollautomatische Katzenwaage - Programmversion 0.1

Funktionsweise

Nach jedem Toilettengang, nachdem Streu aufgefüllt, die Toilette gereinigt oder der Deckel aufgesetzt wurde muss die Waage genullt werden. Für das Tarieren der Waage werden die Messwerte der letzten 10 Sekunden ausgewertet. Liegt die größte und die kleinste Abweichung vom Mittelwert aller 100 Messungen innerhalb spezifischer Grenzwerte, wird die Waage tariert.

Sobald die Waage eine Gewichtsveränderung über +/- 100 Gramm misst, wird das automatische Tarieren deaktiviert. Wenn das Gewicht innerhalb von 30 Sekunden wieder ungefähr 0 Gramm erreicht, wird die Waage tariert. Nach exakt 30 Sekunden wird geprüft, ob das Gewicht mindestens eine Sekunde lang im Mittel unter null Gramm lag. Ist das der Fall, wird die Waage tariert. Ist beides nicht der Fall geht die Waage davon aus, dass eine Katze auf der Toilette sitzt. Fällt das Gewicht innerhalb weiterer 90 Sekunden ungefähr auf 0 Gramm wird das Gewicht der Katze berechnet. Dazu werden maximal 1200 Einzelmessungen analysiert. Gesucht werden die zehn aufeinanderfolgenden Einzelmessungen mit der geringsten Standardabweichung von ihrem Mittelwert. Liegt das Gewicht zwischen 3 und 4 Kilogramm wird die Messung Leonie zugeordnet, liegt sie zwischen 4 und 5 Kilogramm, wird die Messung Leslie zugeordnet. Anschließend wird das Ergebnis an meinen Server gesendet.

Sobald eine Katze die Toilette betritt, wird das automatische Nullen deaktiviert. Das Betreten der Toilette wird durch einen Gewichtsanstieg über einen Schwellwert detektiert. Nun wird kontinuierlich das Gewicht gemessen und die Messwerte in ein Array geschrieben, wobei die neuesten Messwerte die ältesten ersetzen. Nachdem die Katze die Toilette verlassen hat, wird die Waage genullt und innerhalb des Array nach den zehn aufeinanderfolgenden Messwerten mit der geringsten Standardabweichung vom Mittelwert gesucht. Da die geringsten Standardabweichungen vom Mittelwert erwartet werden werden können, wenn die Katze ruhig sitzt, ist der Mittelwert dieser zehn Messungen die bestmögliche Annäherung an das tatsächliche Gewicht der Katze. Das Ergebnis der Messung wird aber noch nicht an den Server gesendet. Anschließend wird die Waage tariert.

Betriebsmodi

Die Waage kennt zwei Betriebszustände: Den Taramodus und den Ereignismodus, wobei der eine den anderen Modus ausschließt.

Schematischer Programmablauf

https://www.instructables.com/id/Stabilize-Sensor-Readings-With-Kalman-Filter/

WLAN https://forum.arduino.cc/index.php?topic=544478.0