Hi,
ich möchte eine App realisierten,die einen Schriftzug, egal wie ich das
Display halte und drehe, immer richtig also parallel zum Boden anzeigt.
Es ist im Prinzip ein selbst gebauter Tablet. Wenn ich den jetzt vor
mir, senkrecht zum Boden halte, und dann anfange ihn zu drehen, soll der
Schriftzug stehen bleiben.
Kann mir jemand sagen ob mir dafür ein Accelerometer (3-Achsen?)reicht
oder ich auch einen Gyro brauche?
Vielen Dank schonmal.
Nativespirit schrieb:> Es ist im Prinzip ein selbst gebauter Tablet. Wenn ich den jetzt vor> mir, senkrecht zum Boden halte, und dann anfange ihn zu drehen, soll der> Schriftzug stehen bleiben.
Da dein Tablet keine Rotoren hat und keine Regelung die ständig versucht
eine vermeintliche kleine Schieflage auszugleichen, wird das reichen.
Wenn du allerdings in einem Jahrmarksfahrgeschäft sitzt das sich
permanent um alle 3 Achsen dreht, dann wird dein Tablet nicht mehr
korrekt anzeigen.
Denk mal drüber nach :)
Vereinfacht:
Du hast ein "Tablet" und einen 2-Achsen-Beschleunigungssensor.
------------------------> X
| ... ______
| ... | .... |
| ... | .... |
| ... | ... |
| ... |______|
|
\/
Y
Hälst du das Teil jetzt fest und bewegst es nicht hast du je nach
Ausrichtung die Erdbeschleuningung entweder in X- oder Y-Richtung und
kannst somit die Ausrichtung feststellen.
Bewegst du das Teil jetzt aber künstlich selbst zusätzlich in X- oder
Y-Richtung wird das ganze fragwürdig :)
Nativespirit schrieb:> ... immer richtig ....
'immer' ist so ein großes Wort.
> Kann mir jemand sagen ob mir dafür ein Accelerometer (3-Achsen?)reicht
Ein Eimer Wasser an einer Schnur ist auch ein 3-Achsen Accelerometer.
Wann immer der senkrecht runterhängt, zeigt auch dein Tabelet dann den
Schriftzug parallel zu Boden an, wenn du keinen Programmfehler hast.
Zeigt dein Eimer Wasser etwas anderes als die geometrische Senkrechte
an, dann wird es auch dein Tablett tun. Jetzt musst du dich entscheiden,
ob 'immer' auch eine Fahrt mit Sebastian Vettel am Nürburgring umfasst
oder nicht.
Also dh jetzt wenn ich es bewege also sagen wir um 90° drehe und es dann
zum Stillstand kommen lasse dann zeigt es mir den Schriftzug auch nur
mit dem Accelerometer richtig an? Aber wenn ich in der Bewegung schon
den Schriftzug parallel zum Boden haben will brauch ich auch noch einen
Gyro?
Dominik S. schrieb:> Bewegst du das Teil jetzt aber künstlich selbst zusätzlich in X- oder> Y-Richtung wird das ganze fragwürdig :)
...wenn man "bewegen" mit "beschleunigen" gleichsetzt.
(sonst dürfte ja kein Tablet im Zug funktionieren... ;) )
Wenn es um eine einfache Lageerkennung geht, in der das Bild immer nur
um 90°Schritte gedreht werden soll, reicht das. Einfach vektoriell die
ermittelten Beschleunigungen addieren und schauen, wo die 9,81m/s²
hinzeigen.
Im Fahrstuhl wird es zwar während der Anfahr- und Bremsphase etwas
ungenau... und Fallschirmspringen dürfte auch nicht gehen...
Mirko
@MirkoB
Nein es soll eben nicht nur 90° Schritte anzeigen sondern rund
mitlaufen, dh egal wie ich das Display drehe soll der Schriftzug
immernoch parallel zum Boden sein. Und das fließend, dass wenn ich nur
den Schriftzug sehen, ich gar nciht weiß dass das Display gedreht wird.
Das mit den 90 Grad stimmt auch nicht, das geht schon auch genauer.
Das einzige Problem an der Sache ist, wie schon gesagt, dass das Tablet
nicht gegenüber der Erde beschleunigt werden darf, sonst wird die
Anzeige falsch. Solange du das Ding also nicht durch den Raum wirfst
oder in stark beschleunigenden Fahrzeugen einsetzt, sollte das ohne
Probleme funktionieren.
Also die fliesende Bewegung ist nur mit dem Accelerometer möglich? Das
wäre ja super!!!
Nein natürlich werfe ich es nicht quer durch den Raum, ich halte es in
den händen und drehe es um die x Achse.
Solange alle auftretenden Beschleunigungen klein sind gegen die
Erdbeschleunigung g = 9.81 m/s², sollte es keinerlei Probleme geben, ja.
Du kannst ja mal abschätzen, wie schnell du es drehen kannst, sodass
diese Bedingung noch erfüllt ist, ich schätze aber, schon ganz
ordentlich schnell.
Denk' doch bitte einfach mal selbst ein wenig darüber nach wie so ein
Beschleunigungssensor überhaupt funktioniert und was er in verschiedenen
Anwendungsfällen für Werte messen wird.
Du scheinst noch nicht so recht verstanden zu haben, wo überhaupt das
Problem liegt, wenn das Teil selbst beschleunigt wird.
Die Gedanken musst du dir spätestens beim Programmieren sowieso machen,
um das ganze überhaupt umzusetzen - schadet also auch nicht das gleich
zu tun, denn damit kommst du auch auf die Lösung der Frage.