katofl:
Auweia, das mit der Fliehkraft habe ich schon befürchtet.
Also heißt das, dass ich doch mit den Ausgabewerten eines Gyroskops, wie zum Beispiel den von dir vorgeschlagenen MPU-6050, besser bedient wäre, auch während der Fahrt?
Nein, NUR während der Fahrt bist Du mit Gyros besser bedient.
Im Stand kannst und musst Du die Neigung des Decks mit den Beschleunigungssensoren messen, wenn Du auch im Stand Lichteffekte schalten möchtest. Genau so im Augenblick des Umsteuerns: Im Übergang von einer Rechtskurve zu einer Linkskurve gibt es einen Wimpernschlag lang den Moment, wo das Board weder rechtsherum noch linksherum dreht. Aber im Moment des Umsteuern dürfte Höchstwahrscheinlich das Board bereits in die entgegengesetzte Richtung geneigt sein, zur Einleitung einer entgegengesetzten Kurve.
Mal kurz die Gyrodaten eines MPU-6050 nachgeschlagen auf http://www.invensense.com/mems/gyro/mpu6050.html
Im empfindlichsten Gyrobereich gibt es einen Messwert von 131 LSB pro °/s.
1°/s entspricht einem Vollkreis von 360° in 360 Sekunden, also 6 Minuten, was schon einem recht langsam gefahrenen Kreis entspricht.
Wenn Du diese Geschwindigkeit als Grenzwert zwischen Stillstand und Bewegung festlegst, dann würdest Du also als Programmlogik für Lichteffekte im Stand und in Bewegung zuerst prüfen, ob die Grenze beim Drehen überschritten wird, und wenn ja, entsprechende Kurveneffekte schalten:
Ich würde es anfänglich mal mit diesem mit einer solchen Logik und einem MPU-6050 probieren (Pseudocode):
if (gyroZ>131) LichteffektRechtskurve();
else if (gyroZ<-131) LichteffektLinkskurve();
else if (rollWinkel>5) LichteffektRechtsImStand();
else if(rollWinkel<-5)LichteffektLinksImStand();
else LichteffekteAus();
Der aus den Beschleunigungssensoren ermittelte Rollwinkel würde dann nur ausgewertet werden, wenn die Kurvengeschwindigkeit zu gering ist, z.B. im Augenblick des Umsteuerns von Rechtskurve auf Linkskurve (und umgekehrt). Und auch im Stand.