ADXL345 Einheit zu Zahlenwert

Hallo zusammen,

ich habe mir gerade nochmal den ADXL 345 angesehen und bei mir kommen bei dem seriellen Monitor Werte in Form von 1.06 usw. je nach Lage heraus. Was ist das für eine Einheit? Ich weiß das die Lage des Beschleunigungssensor in Rohdaten aufgenommen werden und intern durch die Bibliothek verarbeitet und zum seriellen Monitor gesendet werden. Aber mir ist nicht klar, welche Einheit dort angezeigt wird. Gibt es eine einfache Formel dazu, was dort umgerechnet wird?

Was sagt denn das Datenblatt dazu?

Und die Library, die du vermutlich verwendest?

Sieht so aus, als würdest du einen float-Wert an Serial.print übergeben.

Im Datenblatt habe ich nichts gefunden

Ich verwende

#include <Adafruit_ADXL345_U.h> 
#include <Adafruit_Sensor.h>    
Adafruit_ADXL345_Unified Sensor = Adafruit_ADXL345_Unified();

.

Da steht aber zumindest drin, was der Sensor liefert!
Und wie man den Chip anspricht.
Es geht also auch ohne Lib.

Schön, und was sagt deren Doku dazu?

Warum glaube ich dir nicht?

Oder anders:
Warum ist der Code geheim?

Du zeigst nicht wie das Ergebnis zustande kommt, und wir sollen dir das sagen wie das zustande kommt, obwohl du alle Informationen vor dir liegen hast, und wir nicht.

Ich empfinde das als widersinnig.

Wenn das die Frage ist:

findet sich hier die Antwort:

Da nicht bekannt ist, wie Du das da auf den SerMon bekommst, such die passende Funktion im Code:

Meinst Du, das ich die Programmierung hier zeigen soll, das ist kein Problem. Aber ich dachte die Werte kommen aus der Bibliothek. Ich weiß nicht, wie die Zahlen und mit welcher Einheit ausgegeben werden. Oder wie die Formel aussieht. Wo kann ich es nachlesen?

Ok, das ist mal komplex. Ich gucke es mal durch. Mal sehen, ob ich etwas finde.

Vielleicht in dem Teil, den du trotz Aufforderung nicht zeigen willst.
Es ist ok das geheim zu halten.
Aber es nicht ok "uns" nach Dingen zu fragen die du vor dir liegen hast, aber geheim halten musst.

#include <Adafruit_ADXL345_U.h> 
#include <Adafruit_Sensor.h>    
Adafruit_ADXL345_Unified Sensor = Adafruit_ADXL345_Unified(); 

#define led 8

void setup()
{
  Serial.begin(9600);  
  pinMode(led, OUTPUT);
  Sensor.begin();    
}


void loop(void)
{
  sensors_event_t sensor; 
  Sensor.getEvent(&sensor);
  if (sensor.acceleration.x > 0.5 || sensor.acceleration.x < -0.5) digitalWrite(led,HIGH); 
  else digitalWrite(led,LOW);

  Serial.println(sensor.acceleration.x);
}

Und wie kann ich anhand meiner Programmierung wissen, wie ich das passende aus der Bibliothek auf den SerMon bekomme? Ich habe die Programmierung oben eingestellt.

Falsche Frage. Nicht wie, sondern was.
Du gibst aus:

Nu ist der Weg dahin nicht so schwer, denn

ist ein Teil, den Du selbst festgelegt hast.
Damit bleibt noch übrig, nach was Du suchen musst.

Die Headerdatei enthält die defines für die Variablen.
Und ich sag schon mal, das Datenblatt wirst Du brauchen.

Es ist erstaunlich, aber ich finde die Implementierung der virtuellen Methode getEvent() nicht auf Github.
Korrektur!
Hier die Fundstelle!
Und dort findet sich auch die Formel.

Offensichtlich hast du alle Zutaten, welche das Ergebnis ans Tageslicht fördern auf deinem Rechner.
Ich nicht.

Ich habe nicht mehr als das was ich hier gezeigt habe. Wird noch woanders etwas gespeichert, was ich nicht kenne?

Danke, ich schaue mal nach und versuche es zu entschlüsseln.

Schau mall hier. Vielleicht ist dort die Antwort

Danke Dir. Das kommt mir auch schon etwas aufgeschlüsselter rüber.

JA! Wie kommt da ein float raus? Und was bedeutet er?

Was unterscheidet die Zeile von Deinem Code?

Jetzt ist klar dass das ist der Wert realer Beschleunigung in m/s^2

/* Display the results (acceleration is measured in m/s^2) */
Vermute um das ging es dem TO.