Ich versuche momentan, die Datenausgabe meines Beschleunigungssensors in m/s² umzurechnen, habe damit aber irgendwie so meine Schwierigkeiten.
Ich habe bereits alle Werte für die einzelnen Achsen -1G, 0G, +1G gesammelt. Ich weiß nun aber leider nicht, wie ich diese Werte in m/s² umrechnen kann.
Werte meiner Z-Achse:
bei Z= +1G:
Z=714
Y=510
X=520
bei Z= -1G:
Z=304
Y=496
X=509
Kann mir jemand helfen? Eventuell hat jemand bereits Erfahrung oder weiß zufällig, wie man dies machen könnte?
Ich verstehe nur leider nicht, wie ich daraus einen "Skalierungsfaktor" für die Umrechnung der ausgegebenen Werte bekomme.
Den genauen Beschleunigungssensor kann ich leider nicht nennen. Er sitzt auf einem fertigen Shield.
Auf dem Sensor steht Kionix KXR94 51569 0915, ich kann aber leider kein passendes Datenblatt finden.
Ich habe die Werte für die Z-Achse gemessen, in dem ich den Sensor erst normal auf den Tisch gelegt habe (Z=+1g) und danach auf den Kopf gedreht (Z=-1g).
Also Sensor auf den Kopf drehen, dann würde ich folgendes erwarten:
Z=310
Y=510
X=520
Passt also ganz gut zu deinen Messwerten.
Ungefähr diese Werte habe ich bereits oben bei Z=-1g gemessen.
TikiMaske:
Dreisatz kann ja eigentlich nicht sein, weil ich bei
Ich würde bei Bearbeitung einer Gleichung mit dem Dreisatz die andere Gleichung außer Acht lassen.
Oder irre ich mich?
Natürlich brauchst du beide Punkte/Gleichungen um einen beliebigen Messwert in g umzurechnen,
sonst wüsstest du nicht wo der Nullwert ist.
void loop()
{
float x = map(float(analogRead(A0)),300.0,700.0,-1.0,1.0); // Werte für -1G und +1G eintragen
// float x = map(float(random(100,900)),300.0,700.0,-1.0,1.0); // TestWerte von -2G bis +2G generieren.
Serial.println(x);
}
Den Code werde ich gleich mal ausprobieren, der übersteigt noch etwas meine Kenntnisse
Vielen Dank für eure Hilfe! Ich bin noch ziemlich neu in der Welt der Elektrotechnik (und Mikrocontroller) und tue mich manchmal noch etwas schwer.