Lagesensor Z-Achse integriert

Hallo zusammen,
ich habe den Core an die Wand geschraubt, was, glaube ich, gar nicht so abwegig ist. Auf alle Fälle brauche ich jetzt halt die Z-Achse für die Darstellung. Hier meine Integration:z-achse.json (30,0 KB)
In die Python Funktion muss natürlich auch die Z-Achse mit rein, aber das ist ja nur eine Zeile. Ich habe dort noch ein paar kleine Änderungen vorgenommen, da ich persönlich besser mit Winkeln zurechtkomme stelle ich den richtigen Winkel dar. 45° sind einfach 45°. Darunter kann sich jeder was vorstellen. Dann habe ich das Smoothing etwas erhöht, und was wichtiger ist, auf gleitend umgestellt, so bekomme ich mehr Werte und es zappelt nicht so.Die Funktion zur Kalibrierung erschien mir auch unnötig.

Prüft alles und behaltet das Gute!

Die Kategorie heißt ja auch Vorschläge daher ein paar davon:

Da ja nicht jeder “zeichnen” kann, wäre es vielleicht sinnvoll, statt den Schalter
Nick/side bzw. roll/back hinzuschreiben und daneben jeweils ein Auswahlmenü mit XYZ Achse zu machen evtl. noch ein Schalter zum Invertieren.

Evtl. könnte man mit dem MPU6050 auch eine “Alarmanlagenfunktion” realisieren, die bei größeren Lageänderungen oder Erschütterungen eine Nachricht verschickt. Der MPU hat sogar einen Interrupt, wenn eine Erschütterung einen bestimmten Pegel überschreitet.

Auch denkbar wäre eine CAN Bus Schnittstelle, die dann die Alarmanlage vollkommen ersetzt. Die modernen Alarmanlagen werden ja auch nur noch an den CAN Bus angeschlossen. Fall Ihr an so etwas denkt, noch ein Tipp. Nehmt nicht bloß einen CAN Treiber. Der Raspi kann zwar den CAN, ist aber im Fehlerfall schwer zu debuggen. Nehmt liiber einen CAN Controller z.B. HT45B3305H da weiß man das alles passt.
Für so eine Alarmanlage könntet ihr als Softwareoption bestimm 150 Euro verlangen.

Noch eine Idee zum Nachrichtenversenden. Ich nutze daheim Free API to Send Whatsapp Messages - CallMeBot API In Home Assistant. Ist ganz einfach zu integrieren und schon gibts eine Nachricht wenn der Akkustand niedrig ist, die Temperatur zu hoch, zu niedrig …

Meldet euch doch mal, wenn Ihr den Core auch an die Wand geschraubt habt.
Vielleicht macht das ja auch jeder, aber keiner macht so ein Aufhebens darum wie ich :wink:

Bis bald
Alexander

1 Like

Hi Alex,

ich verstehe nicht ganz warum die den Drehwinkel um die Z-Achse nutzt?

Vielen Dank für die Ideen und Anregungen.

Ich habe meinen VanPi Core bekommen und teste damit, bevor ich den verbaue. Auch ich plane, den VanPI hochkant an die Wand zu schrauben. Dann brauche ich Z und Y Achse. Wirklich schade, dass dies bei der Enticklung des VANPI OS v2.0 nicht bedacht worden ist. Wäre eine Ergänznug im Standard wert!
Ich werde mir Dein JASON mal anschauen …

Hi,

na wir haben da schon drüber nach gedacht :wink:

Jedoch scheint hier ein Problem zu sein. Das Python Skript sollte eigentlich die Winkel immer auf das topozentrisches Koordinatensystem beim Start umrechnen, also sollte hier das Koordinaten System schon gedreht an Node-Red übergeben worden sein.

Schauen wir uns an!

Na, haette ich mal die Doku gelesen, dann haette ich mir die Arbeit erspahrt :grin: :wink:. Aber mal im Ernst Ich habe das Teil natuerlich im Angeschalteten Zustand gedreht. Ich habs jetzt erst hochkannt eingeschaltet aber das mit dem Umrechnen scheint nicht zu funktionieren.

Viele Gruese Alexander

Hey Alex,

ich hab mal die Z-Achse mit übernommen, damit kann jetzt alles hin- und hergeschoben werden und die Achsen sollten mit einer der Kombinationen immer passen:
image

Hab das Script mal ein bisschen angepasst, unter anderem mit atan2 anstelle von atan, um den Qaudranten des Winkels besser bestimmen zu können. Hab auch noch ein paar andere Sachen probiert, aber das wurde dann sehr schnell sehr mathematisch und naja… die Uni ist ja mittlerweile auch schon eine Weile her :smiley:

Also ist die Lösung für jetzt: wir geben Pitch und Roll aus und dann kann jeder sich das Koordinatensystem manuell so einstellen wie es passt. Nicht unbedingt schön, aber sollte erstmal funktionieren.

2 Likes

Hi Vincent,
ich hab auch mal mit dem Python script rumgespielt. Wenn du vor der Schleife einmal alle drei Achsen ausliest und in der Schleife die anderen beiden dann als nick und roll (um mal von xyz wegzukommen) ausgibst, funktioniert es so, wie Karl sich das gedacht hatte. Das wäre auch eine Lösung.

Viele Grüße
Alexander