Habe noch ein kleines Problem
Mein Winkel ist um ca. 45° falsch.
Mache ich eine Drehung von 90° zeigt er erst 45° an.
Woran könnte dies noch liegen?
Danke
1. Es sind °/sekunde
2. Da lag der Fehler, vielen dank. jetzt bekomme ich einigermaßen einen brauchbaren Winkel
3. Das werde eich mir einmal anschauen wie man damit arbeitet.
Habe noch ein kleines Problem
Mein Winkel ist um ca. 45° falsch.
Mache ich eine Drehung von 90° zeigt er erst 45° an.
Woran könnte dies noch liegen?
In ihre Ablauf verwendet du "sleep(0.01). Das bedeutet aber nicht das auch jeden 0.01 s eine komplette durchlauf gemacht ist ! Das auslesen mit I2C, und die berechnungen kosten auch einiges. Wahrscheinlich ist eine Durchlauf dan auch langer dan 0.01 s !! Damit schon die Hinweis um ein Timer zu verwenden.
Für das heutige Program konnen sie das leicht kalibrieren : einfach die Berechnung machen mit 0.02 s : Angle=Angle + (gyro-offset)*0.02 !
Besser ist die Timer variante :
If (timer>10) {timer=0;
mach auslesen + berechnung;}
timer muss dan jeden ms erhoht werden in eine separate thread. Python hat sicher so etwas. Forteil ist naturlich das ihre Program weiter lauft, zweitens das diese 10ms exact wird.
Lesezeichen