In der Horus hat FrSky ein GPS und einen Lagesensor integriert. Für ein anderes Projekt hatte ich schonmal einen GY-521 ACC/Gyro Sensor über den S.Port betrieben. Genau diesen Sensor kann man benutzen, um die Horus Lagesensor Funktion nachzustellen.
Ich habe das eben mal getestet, dabei hat ACCx und ACCy erwartungsgemäß die Erdbeschleunigung angezeigt, also waagrecht 0, senkrecht 9,81 m/s². ACCz geht von -180° bis +180°, nur ist mir nicht klar, wo der GY-521 seinen Nullpunkt für ACCz setzt, das scheint jedesmal woanders zu sein. Kennt jemand diesen Sensor, bzw. das Verhalten bei ACCz?
Falls jemand nachbauen will:
Um im openXsensor die Übertragung von Höhe und VSpeed zu unterbinden, muss man diese Variable in oXs_out_frsky.cpp in irgendetwas ("Varionixda" z.B.) ändern:
// pointer to VSpeed
#if defined(VARIO)
p_measurements[1] = &mainVspeed ;
#else
p_measurements[1] = &no_data ;
#endif
dann werden die Varioroutinen nicht gefunden und nichts übertragen, außer den drei ACC-Werten.
Die Sensoren am TX-internen S-Port, der wie immer bidirektional ist, werden aber nur bei einem aktiven Empfänger gefunden. Die können dann per Input einfach weiterverarbeitet werden um Drehen und Neigen des Senders für irgendwelche Aktionen zu verwenden. Der Arduino verträgt wohl die Senderspannung, ich habe aber sicherheitshalber eine 3,3 V Zenerdiode vorgeschaltet.
GPS würde natürlich noch Sinn machen, aber da wurde in der Horus der serielle Anschluss benutzt. Für die Taranisse gibt es den entsprechenden Code noch nicht. Man könnte zwar auch das GPS über S.Port anschließen, bräuchte dann aber Zugriff auf die GPS-Home-Position. Keine Ahnung, ob das mal funktioniert.
Gruß Bernd
Ich habe das eben mal getestet, dabei hat ACCx und ACCy erwartungsgemäß die Erdbeschleunigung angezeigt, also waagrecht 0, senkrecht 9,81 m/s². ACCz geht von -180° bis +180°, nur ist mir nicht klar, wo der GY-521 seinen Nullpunkt für ACCz setzt, das scheint jedesmal woanders zu sein. Kennt jemand diesen Sensor, bzw. das Verhalten bei ACCz?
Falls jemand nachbauen will:
Um im openXsensor die Übertragung von Höhe und VSpeed zu unterbinden, muss man diese Variable in oXs_out_frsky.cpp in irgendetwas ("Varionixda" z.B.) ändern:
// pointer to VSpeed
#if defined(VARIO)
p_measurements[1] = &mainVspeed ;
#else
p_measurements[1] = &no_data ;
#endif
dann werden die Varioroutinen nicht gefunden und nichts übertragen, außer den drei ACC-Werten.
Die Sensoren am TX-internen S-Port, der wie immer bidirektional ist, werden aber nur bei einem aktiven Empfänger gefunden. Die können dann per Input einfach weiterverarbeitet werden um Drehen und Neigen des Senders für irgendwelche Aktionen zu verwenden. Der Arduino verträgt wohl die Senderspannung, ich habe aber sicherheitshalber eine 3,3 V Zenerdiode vorgeschaltet.

GPS würde natürlich noch Sinn machen, aber da wurde in der Horus der serielle Anschluss benutzt. Für die Taranisse gibt es den entsprechenden Code noch nicht. Man könnte zwar auch das GPS über S.Port anschließen, bräuchte dann aber Zugriff auf die GPS-Home-Position. Keine Ahnung, ob das mal funktioniert.
Gruß Bernd
Anhänge
-
3,8 KB Aufrufe: 7
Zuletzt bearbeitet: