iot:vollautomatische_katzenwaage:programmversion_0.1
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
iot:vollautomatische_katzenwaage:programmversion_0.1 [10.06.2019 23:10] – Frickelpiet | iot:vollautomatische_katzenwaage:programmversion_0.1 [17.08.2022 13:29] – [Betriebsmodi] Frickelpiet | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Vollautomatische Katzenwaage - Programmversion 0.1 ====== | ====== Vollautomatische Katzenwaage - Programmversion 0.1 ====== | ||
- | Angestrebte | + | ===== Funktionsweise |
+ | Nach jedem Toilettengang, nachdem Streu aufgefüllt, | ||
- | Sobald | + | Sobald die Waage eine Gewichtsveränderung über +/- 100 Gramm misst, wird das automatische |
- | Welche | + | {{: |
- | Bevor das Ergebnis der Messung an den Server gesendet wird, muss jedoch noch detektiert werden, ob die Gewichtszunahme von einer Katze verursacht wurde oder ob nur frisches Katzenstreu nachgefüllt wurde. Dafür kommen zwei Ansätze infrage: | ||
- | - Wenn die Gewichtszunahme von einer Katze verursacht wurde, verlässt sie die Toilette nach einer Weile. Wenn jedoch Katzenstreu aufgefüllt wurde, bleibt es in der Toilette. Es müsste also bestimmt werden, ob das Gewicht nach einer (geeigneten) Zeitspanne wieder abnimmt oder erhalten bleibt. Man müsste hierbei mit einem Timer arbeiten, was den Nachteil hat, dass ein Toilettengang unmittelbar nach dem Auffüllen von Streu nicht erkannt wird, wenn der Timer zu lang eingestellt ist, oder eine korrekte Messung verworfen wird, wenn der Timer zu kurz eingestellt ist. | ||
- | - Alternativ könnte die Geschwindigkeit der Gewichtszunahme detektiert werden: Nimmt das Gewicht relativ plötzlich zu, ist eine Katze in die Toilette gesprungen, nimmt es hingegen kontinuierlich zu, wurde Katzenstreu hineingeschüttet. | ||
- | - Eine dritte Alternative wäre die Verwendung einer Lichtschranke ö.ä., aber das möchte ich eigentlich vermeiden. | ||
- | Schließlich wird das automatische Nullen | + | ====Betriebsmodi==== |
+ | Die Waage kennt zwei Betriebszustände: | ||
+ | * Der Taramodus ist der Standardmodus | ||
+ | * Die Waage geht in den Ereignismodus, sobald eine Gewichtsänderung von +/- 100 Gramm gemessen wird. So lange dieser Modus aktiv ist, wird die Waage nicht automatisch nach 10 Sekunden tariert. In diesem Modus versucht die Waage zu erkennen, wodurch die Gewichtserkennung ausgelöst wurde. Das Ziel ist, möglichst treffsicher zu erkennen, ob eine Katze auf dem Klo ist und ihr Geschäft erledigt oder ob die Gewichtsveränderung andere Gründe | ||
+ | ====Schematischer Programmablauf==== | ||
+ | * Ausgangspunkt der Wenn-dann-Abfrage zur Identifizierung der Ursache einer Gewichtsveränderung ist der Taramodus. Das heißt, die Waage ist typischerweise tariert, wenn eine Gewichtsabweichung die Waage in den Ereignismodus zwingt. | ||
+ | * Wird eine Gewichtszunahme oder -abnahme von +/- 100 Gramm erkannt, wechselt die Waage in den Ereignismodus. Dieser Modus wird also ausgelöst, wenn | ||
+ | * eine Katze zwei Pfötchen in die Waage stellt und am Streu schnuppert, | ||
+ | * eine Katze die Toilette betritt und ihr Geschäft erledigt, | ||
+ | * die Toilette gereinigt wird, | ||
+ | * der Deckel oder der Rand abgenommen wird, | ||
+ | * der Deckel oder der Rand aufgesetzt wird, | ||
+ | * frisches Streu in die Toilette geschüttet wird, | ||
+ | * die Toilette einschließlich oder ausschließlich der Waage bewegt wird, um die Waage oder das Bad zu reinigen, | ||
+ | * etc. | ||
+ | * Im Ereignismodus versucht die Waage nun zu erkennen, ob eine Katze auf der Toilette ist und ihr Geschäft macht, oder ob die Gewichtsveränderung eine andere Ursache hat. Dafür nimmt sich die Waage bis zu zwei Minuten Zeit. Bei manchen Gewichtsveränderungen kann aber auch schon früher ausgeschlossen werden, dass eine Katze auf der Toilette ist. | ||
+ | * Erkennung der Toilettenreinigung: | ||
+ | * Erkennung des Auffüllen von frischem Streu: Wenn innerhalb der ersten zehn Sekunden eine stetige Gewichtszunahme gemessen wurde, wurde frisches Streu eingefüllt. In diesem Fall befindet sich auf keinen Fall eine Katze auf der Toilette und die Waage kann in den Taramodus versetzt werden. | ||
+ | * Erkennung des Aufsetzen des Rands oder des Deckels: Wenn nach einer Gewichtszunahme nach 10 Sekunden für weitere 10 Sekunden keine Gewichtsschwankungen gemessen werden, befindet sich ebenfalls keine Katze auf der Toilette. In diesem Fall kann die Waage in den Taramodus versetzt werden. | ||
+ | * Erkennung des vorzeitigen Verlassens einer Katze: Wenn nach einer Gewichtszunahme das Gewicht innerhalb von 30 Sekunden wieder auf unter 10 Gramm fällt, war wahrscheinlich eine Katze auf der Toilette, hat aber kein Geschäft gemacht. In diesem Fall kann die Waage in den Taramodus versetzt werden. | ||
+ | * Abbruch der Messung nach Zeitüberschreitung: | ||
+ | * Messung des Gewichts einer Katze: Wenn nach einem Gewichtsanstieg das Gewicht nicht innerhalb der ersten 30 Sekunden auf unter 10 Gramm fällt, aber vor Ablauf von 120 auf einen Wert von unter 100 Gramm fällt, war eine Katze auf dem Klo und hat ein Geschäft erledigt. In diesem Fall werden die Messungen ab 10 Sekunden nach dem Gewichtsanstieg und bis zum Falles des Gewichts auf unter 100 Gramm die 10 aufeinanderfolgenden Messwerte bestimmt, die die geringste Standardabweichung von ihrem Mittelwert haben. Anschließend wird die Waage in den Taramodus versetzt. | ||
+ | * Die Messung wird verworfen, wenn die Standardabweichung vom errechneten Mittelwert einen Grenzwert überschreitet. (Denn dann hat die Katze nicht ruhig genug gesessen.) | ||
+ | * Badezimmerreinigung: | ||
- | Auslösegewicht: 500 Gramm (so viel wiegen Kätzchen ungefähr in der vierten Woche, und vorher benutzen sie ohnehin nicht die Katzentoilette.) | + | https://www.instructables.com/ |
+ | |||
+ | WLAN | ||
+ | https:// | ||
Tags: #Arduino #ESP32 #Katzen # | Tags: #Arduino #ESP32 #Katzen # |
iot/vollautomatische_katzenwaage/programmversion_0.1.txt · Zuletzt geändert: 18.05.2023 12:34 von 127.0.0.1