¿Cómo configurar el acelerómetro (ADXL345) con resolución 2g?

0

No sé cómo establecer el rango para el acelerómetro ADXL345. Todo lo que estoy obteniendo es datos digitales en bruto. ¿Cómo lo convierto a g con un rango de 2 g para cálculos adicionales? Es para mi Proyecto del año final.

Aquí está el código:

#include "GY_85.h"
#include <Wire.h>
GY_85 GY85;     //create the object
void setup()
{
    Wire.begin();
    delay(10);
    Serial.begin(115200);
    delay(10);
    GY85.init();
    delay(10);
}
void loop()
{
    int ax = GY85.accelerometer_x( GY85.readFromAccelerometer() );
    int ay = GY85.accelerometer_y( GY85.readFromAccelerometer() ); 
    int az = GY85.accelerometer_z( GY85.readFromAccelerometer() );

    int cx = GY85.compass_x( GY85.readFromCompass() );
    int cy = GY85.compass_y( GY85.readFromCompass() );
    int cz = GY85.compass_z( GY85.readFromCompass() );

    float gx = GY85.gyro_x( GY85.readGyro() );
    float gy = GY85.gyro_y( GY85.readGyro() );
    float gz = GY85.gyro_z( GY85.readGyro() );

    float gt = GY85.temp  ( GY85.readGyro() );

    float xg = ax * 0.0039;
    float yg = ay * 0.0039;
    float zg = az * 0.0039;
    float mx = cx * 0.92;
    float my = cy * 0.92;
    float mz = cz * 0.92;
    float xds = gx / 14.375;
    float yds = gy / 14.375;
    float zds = gz / 14.375;

    Serial.print  ( "accelerometer" );
    Serial.print  ( " x:" );
    Serial.print  ( xg );
    Serial.print  ( " y:" );
    Serial.print  ( yg );
    Serial.print  ( " z:" );
    Serial.print  ( zg );

    Serial.print  ( "  compass" );
    Serial.print  ( " x:" );
    Serial.print  ( mx );
    Serial.print  ( " y:" );
    Serial.print  ( my );
    Serial.print  (" z:");
    Serial.print  ( mz );

    Serial.print  ( "  gyro" );
    Serial.print  ( " x:" );
    Serial.print  ( xds );
    Serial.print  ( " y:" );
    Serial.print  ( yds );
    Serial.print  ( " z:" );
    Serial.print  ( zds );
    Serial.print  ( " gyro temp:" );
    Serial.println( gt );

    delay(100);             // only read every 0,5 seconds, 10ms for 100Hz, 20ms for 50Hz
}
    
pregunta

0 respuestas

Lea otras preguntas en las etiquetas