Zusammenfassung
Verwendet einen Schwimmer, um einen Stift zu drehen, der einen kleinen 5mm-Magneten hält. Der Magnetwinkel wird von einem kostengünstigen GY-273-Kompassmodul erkannt, und die Flüssigkeitstiefe wird basierend auf der Länge des Schwimmerarms und dem Winkel berechnet.
Für den Schwimmarm habe ich 4 mm dicke Eichen-Dübel verwendet. Die Schwimmhälften wurden mit hochdichtem Schaumstoff gefüllt und mit Sekundenkleber zusammengeklebt. Anschließend habe ich meinen Schwimmer mit einem Lack überzogen, um ihn noch besser wasserdicht zu machen.
Der Magnet wird in einem 5mm-Loch im hine_pin-Teil mit Heißkleber gehalten.
GY-273 passt in pcb_holder und wird dann auch mit Klebstoff an Ort und Stelle versiegelt.
Die Genauigkeit mit einem 300mm-Arm scheint besser als 1mm zu sein, auf jeden Fall sehr wiederholbar. Mit geringem Rauschen.
Der Code ist ein modifiziertes Beispiel der Adafruit Sensor-Bibliothek, die hinzufügt
Ich habe einige Screenshots hinzugefügt, nachdem ich ein paar Teile zur Verdeutlichung hinzugefügt habe. Die 2 blauen Teile sind mit dem Drehpunkt dazwischen zusammengeklebt, und es gibt ein paar 2mm-Löcher, um etwas Druckerfilament als Dübel und Führung hinzuzufügen.
Der silberne Teil ist der Magnet und zeigt das Loch, in das er hineingeht, und die Ausrichtung. Der schwarze Teil ist der Rand der Wanne, auf den die Halterung so konzipiert ist, dass sie darauf aufklippt, und ich möchte die Tiefe messen.
Der grüne Teil ist ein GY272-Magnetsensor und zeigt das Loch, in das er passt. Die Mittelachse des Magneten befindet sich dann direkt über dem zentralen Teil des PCB, was für die Genauigkeit erforderlich ist.
Der orange Stab ist der 4mm Eichen-Dübel und in meinem Fall ist er 300mm lang, nicht die hier gezeigte kurze Länge.
Ich habe meins in schwarz gedruckt, damit es nicht gut fotografiert wird.
Der gelbe Teil ist offensichtlich für meine spezifische Wanne, also müsst ihr vielleicht eure eigene Klemme entwerfen. Der blaue Halter ist mit Sekundenkleber an den gelben Teil geklebt. Ich wollte nur eines davon machen, also habe ich nicht viel Zeit mit cleveren Befestigungssystemen verbracht. Keine Notwendigkeit.
Der große Grafik-Screenshot stammt aus dem bereitgestellten Code und dem seriellen Plotter. Das Blau und Rot sind die X- und Y-Sensoren, und das Grün ist die berechnete Wassertiefe beim Schwingen des Schwimmers.
Der kleine Screenshot zeigt den Wasserstand, der alle 30 Sekunden auf meinem MQTT-Broker protokolliert wird. Ich habe am Ende noch mehr Wasser hinzugefügt.
Modellquelle
