Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ROSEDOLA

Members
  • Benutzer seit

  • Letzter Besuch

  1. Thema antwortete auf ROSEDOLAs Plenz in: Hardware
    Wieso, wer ein Kompass braucht kann die Werte für das Magnetfeld auslesen und entsprechend berechnen: def CalcHeadingNoCompensation(x,y) headingRadians = Math.atan2(y, x) if headingRadians < 0 headingRadians += 2 * Math::PI end heading = headingRadians * 180 / Math::PI heading.round() end Funktioniert wunderbar und synchron mit meinem Yak (+/- 2°-3°, da ist akzeptabel). Aber Vorsicht, bei Roll und Pitch ändert sich das Heading, da muss noch eine sw-seitige Kompensation rein, die braucht Roll und Pitch - und die gibt es ja nun... Gruss, Dirk
  2. Thema antwortete auf ROSEDOLAs Plenz in: Hardware
    Die Formeln habe ich aus dem Forum / oder wars ne frühere Version der IMU Docu... ? Die für "z" ist verschwunden.... Im engl. Forum nach IMU Values suchen. Müssten von Dir gewesen sein... Gruss, Dirk
  3. Thema antwortete auf ROSEDOLAs Plenz in: Hardware
    @borg Das hatte ich in Ruby getestet. Leider komme ich damit überhaupt nicht weiter.... Gruss, Dirk
  4. Thema antwortete auf ROSEDOLAs Plenz in: Hardware
    Also, nachdem ich nun wieder mal Zeit gefunden habe, mit der IMU zu "spielen" komme ich nun "scheinbar" zu einem "ersten" brauchbaren Ergebnis. Zielsetzung war: Erkennen von Roll, Pitch und Yaw (in einem Flugzeug) - getestet habe ich bisher nur am Schreibtisch mit Drehen, usw.... Der Kurs, errechnet aus dem Magnetfeld, ist noch nicht "Tilt-Compensated", was aber zwingend notwendig ist: Init der IMU imu.set_convergence_speed 250 sleep 5 imu.set_convergence_speed 5 q = [] q = imu.get_quaternion base_x = q[0] base_y = q[1] base_z = q[2] base_w = q[3] Konjugation x = -x y = -y z = -z Und die Winkel: x_angle = Math.atan2(2*y*z - 2*x*w, w*w + z*z - x*x - y*y)*180/Math::PI + 180 y_angle = Math.atan2(2*w*y + 2*x*z, w*w + z*z -x*x - y*y)*180/Math::PI + 180 z_angle = Math.atan2(-w*y + x*y + y*x - w*w, w*w + y*y - z*y - x*x)*180/Math::PI + 180 Diese Formeln stammen aus dem Forum, nicht von mir.... Ich werde am WE oder Anfang der Woche mal einen Flug machen und es testen. Das Brick liegt mit LED's nach oben auf einem MasterBrick gesteckt. Das IMU Brick hängt sich des öfteren auf, wenn ich dort ein lCD Prickelt einstöpsle... Code ist Ruby - wenn das nun klappt, werde ich mal nach IOS wechseln... Gruss, Dirk
  5. Thema antwortete auf ROSEDOLAs Plenz in: Hardware
    hmmh... Ich habe doch nur die Anpassungen für "Save Orientation" vorgenommen. Ansonsten sind das doch die Formeln..... Irgendwie stehe ich vor einem grossen Berg und sehe den Gipfel nicht :-D
  6. Thema antwortete auf ROSEDOLAs Plenz in: Hardware
    Also, ich glaube ich verstehe ich etwas grundlegendes nicht.... Wenn ich den IMU Brick bei hochfahren sich seine Position finden lasse, für 5 Sekunden (über convergence speed gesteuert) und nur mit Quaternion auslese, welche ich dann später umrechne, erwarte ich irgendwie ein anderes verhalten. Ich habe mein Vorgehen mir aus verschiedenen Beiträgen "zusammen gesammelt".... Ich speichere eine "Orientation und lese dann Quaternions aus... Danach konjugieren und ich durch entsprechende Formeln in die einzelnen Winkel (x/y/z, bzw. roll/pitch/yaw) umrechnen. Wenn ich aus einer "Nullposition" um genau eine Achse "kippe / drehe" dann würde ich erwarten, dass auch nur ein Winkel sich ändert. Und da isst nicht immer der Fall. Und der Z_Angle verhält sich völlig sonderbar, zeigt aber keinesfalls die Rotation um die entsprechende Achse in Grad an ... Ändere ich den Pitch, dann bitte nur Pitch-Winkel ändern, Selbiges für Roll oder Yaw. Solange ich aber diese Werte nicht auf die Reihe bekomme brauche ich gar nicht an einen "Tilt Compensated" Compass zu denken Dies hier sind die Formeln, die ich verwende (Ruby) wn = w * rel_w - x * rel_x - y * rel_y - z * rel_z xn = w * rel_x + x * rel_w + y * rel_z - z * rel_y yn = w * rel_y - x * rel_z + y * rel_w + z * rel_x zn = w * rel_z + x * rel_y - y * rel_x + z * rel_w x_angle = Math.atan2(2*yn*zn - 2*xn*wn, wn*wn + zn*zn - xn*xn - yn*yn)*180/Math::PI y_angle = Math.atan2(2*wn*yn + 2*xn*zn, wn*wn + zn*zn -xn*xn - yn*yn)*180/Math::PI z_angle = Math.atan2(-wn*yn + xn*yn + yn*xn - wn*wn, wn*wn + yn*yn - zn*yn - xn*xn)*180/Math::PI Was ist nun mein Denkfehler....? Vielen Dank im Voraus, Dirk
  7. Thema antwortete auf ROSEDOLAs Plenz in: Hardware
    Ich habe ähnliche Probleme.... Rotation um nur eine Achse bewirkt häufig auch eine Rotation um eine andere Achse... Eine Bitte an Tinkerforge: Könntet Ihr bitte mal ein Tutorial erstellen und hier veröffentlichen? Thx, Dirk

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.