Unser Protagonist, Krümel ist ein 2,5 Jahre altes Zwerghamster Männchen. Mit 2,5 Jahren ist er schon recht alt und sein Pfleger macht sich manchmal Sorgen um dessen Gesundheit wenn er ihn ein paar Tage hintereinander nicht sieht. Ein gutes Indiz der Hamstergesundheit ist ihre Aktivität z.B. das Rennen im Laufrad was unser Protagonist in der Regel Nachts macht. Wie trackt man also die Fitness eines Hamsters?
Für ein erfolgreiches Projekt werden zunächst Anforderungen benötigt. Hierbei wird die benötigte Hardware zur Messung sowie die Software zur Verarbeitung und Visualisierung betrachtet.
Anforderungserhebung
Starten wir mit den Anforderungen an die Hardware:
REQ1
Die Messung der Aktivität im Laufrad muss berührungslos erfolgen um weder zusätzliche Geräusche noch zusätzlichen Widerstand beim Laufrad zu erzeugen.
REQ2
Die Messung der Aktivität im Laufrad muss unanfällig gegen Schmutz sein da z.B. Kot, Fellhaare, Sand eine Messung beeinträchtigen könnten.
REQ3
Die Messung der Aktivität im Laufrad muss möglichst Gewichtsneutral durchführbar sein damit beim Laufrad keine Unwucht entsteht.
REQ4
Die Messhardware muss außerhalb der Reichweite des Hamsters angebracht werden oder zumindest ungiftig und spannungsfrei sein wenn diese erreicht werden können.
REQ5
Die Messhardware muss über Steckverbinder verbunden sein damit dieser leicht getauscht und programmiert werden kann.
REQ6
Die Messhardware muss an das Gehege über Schraubverbindungen anbringbar sein, dass Gehege hat Holz und Glaswände.
REQ7
Die Messhardware muss über WLAN-Fähigkeit verfügen.
REQ8
Die Messhardware muss mit einem Display ausgestattet sein.
REQ9
Die Messhardware muss einen Taster haben der vom Nutzer betätigt werden kann.
Für die Hardware wurden nun Anforderungen erhoben, die hauptsächlich aus der Umgebung, dem Gehege, entstanden sind. Wichtig sind nun noch die Anforderungen an die Verarbeitung der Daten und die Visualisierung, also die Anforderungen an die Software:
REQ10
Die Messung muss die Anzahl der Umdrehungen des Laufrades auf einem Display darstellen.
REQ11
Die Messung muss die Umdrehung in zurückgelegte Meter auf zwei Nachkommastellen genau auf dem Display anzeigen.
REQ12
Die Messung muss initial die lokale Uhrzeit und Datum über NTP abrufen.
REQ13
Die Messung muss das Datum und die Urzeit der letzten Messung auf dem Display anzeigen.
REQ14
Das Display muss auf einen Tastendruck an- und abschaltbar sein damit es nicht die ganze Nacht durch leuchtet.
Architekturentscheidungen
Verschiedene Messverfahren stehen zur Verfügung. Um REQ1 zu erfüllen bieten sich nur optische, induktive oder magnetische Messmethoden an. REQ2 führt dazu das optische Messmethoden nicht verwendet werden können da Schmutz diese beeinträchtigen könnten. So kommen nur noch induktive oder magnetische Messmethoden in Frage.
Ein Hall-Effekt Sensor erfüllt alle Anforderungen. Ein kleiner Neodym Scheibenmagnet von 4mm x 2mm wiegt weniger als ein Gramm und erfüllt somit auch REQ3. Kann so am Laufrad angebracht werden das dieser nicht für den Hamster erreichbar ist, ist spannungsfrei und nicht giftig. (REQ4).
Als Mikrocontroller kommen auf Grund der Anforderung REQ7 nur WLAN-fähige Controller in Frage, besonders die ESP32 Varianten von Espressif haben hier in der Bastler-Community eine hohe Beliebtheit, sind einfach zu bekommen und haben eine gute Software-Unterstützung und werden auch oft mit Steckverbindern und einem Display als Modul verkauft. (REQ8, REQ9)
Halter zur Befestigung des Sensors am Gehege und des Mikrocontrollers werden mit einem 3D-Drucker gedruckt. (REQ6)
Kalkulation
Die Einkaufliste zeigt die benötigten Teile mit ungefähren Preisen:
Einkaufsliste:
- Mikrocontroller mit WLAN, Display, Taster und Grove Verbindungs-Port: M5Stack AtomS3, 21€
- Hall-Effekt Sensor Breakout Board KY-024, 6€
- Grove Verbindungskabel, 3,50€ für 5
- Kleiner permanent Magnet z.B. 4mmx2mm, 4,68€ für 20
- Holzleim, 5€ die Flasche
- 3 Schrauben (3,5×10) oder etwas entsprechendes um den Sensor und den Halter für den AtomS3 am Gehege anzubringen, 3 €
- PLA Filament für den 3D-Drucker, Spule 20€, davon gebraucht ~1€
Für die weitere Herstellung werden noch diese beiden Werkzeuge benötigt:
- Akkuschrauber und Holzbohrer (oder etwas um ein Loch für den Magneten auf der Rückwand des Laufrades zu bohren)
- 3D-Drucker
Vernachlässigen wir einmal das Werkzeug, weil wir davon ausgehen das dieses schon existiert, Versandkosten, und von den Mengen jeweils nur das tatsächlich benötigte ergibt das ~35€ Kosten für die benötigte Hardware.
Hardware-Aufbau
Zum Anschluss des Hall-Effekt Sensors an den AtomS3 wird ein Grove-Kabel verwendet, welches in den vorhanden Port am AtomS3 passt (siehe Abbildung 1) und auf der anderen Seite einen 4-poligen Dupont Verbinder hat. Neben der Spannungsversorgung über den GND und + Pin des Sensor-Moduls interessiert uns der DO (DigitalOut) Pin des Moduls der immer dann einen HIGH-Pegel aufweist wenn der Magnet am Laufrad in Sensorreichweite kommt.
Halterungen für den Sensor und AtomS3 werden mit OpenSCAD designed und einem 3D-Drucker gedruckt (siehe Abbildung 2 und 3).
Einen Halter für die Befestigung des Sensors und des AtomS3 drucken wir mit dem 3D Drucker. Beide Halter werden an das Gehege geschraubt. Der AtomS3 wird in die Halterung eingeklipst und kann so leicht wieder für Programmierarbeiten entnommen werden.
FERTIG!
Im Foto ist der AtomS3 im angebauten Halter zu sehen. Auf dem Display wird das Dashboard angezeigt, um dessen Programmierung wir uns im nächsten Teil kümmern werden.
Quellen:
[1] KY-024 Linear Hall Magnetic Sensor Module Fritzing Part is created by arduinomodules.info and published under Creative Commons Attribution-ShareAlike 4.0 International license (https://creativecommons.org/licenses/by-sa/4.0/). You can use it, share it and/or modify it for any purposes as long as you distribute it under the same license and provide appropriate credit.
[2] Hall-Effekt Sensor Halter auf printables.com
[3] AtomS3 Halter 3D-Modell auf printables.com