Hola que tal espero esten muy bien, les cuento yo estoy realizando un proyecto en el cual necesito medir la aceleracion real del acelerometro al aplicarse un fuerza pero debido a que la influye la aceleracion de la gravedad no puedo tener datos correctos y no e podido encontrar por ningun lugar una solucion a mi problema, solo e encontrado intentos de aproximarse al problema pero nada tal es el caso de un filtro paso bajo pero no es lo que yo necesito, como muestro a continuacion en el siguiente codigo:
(Uso el sensor acelerometro MPU6050)
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"
const int mpuAddress = 0x68; // Puede ser 0x68 o 0x69
MPU6050 mpu(mpuAddress);
const int alfa = 0.8;
int ax, ay, az;
// Factores de conversion
float ax1, ax2, ay1, ay2, Axp1;
float gravedad, Xlineal;
void printTab()
{
Serial.print(F("\t"));
}
void setup()
{
Serial.begin(115200);
Wire.begin();
mpu.initialize();
Serial.println(mpu.testConnection() ? F("IMU iniciado correctamente") : F("Error al iniciar IMU"));
}
void loop()
{
// Leer las aceleraciones
mpu.getAcceleration(&ax, &ay, &az);
ax1 = ax * (9.81 /15835.0);
gravedad = (0.2) * ax1 + alfa * gravedad ;
Xlineal = (ax1 - 9.8);
Serial.print(ax1); printTab();
Serial.println(Xlineal); printTab();
delay(100);
}
Mi objetivo es hacer algo similar a lo que algunas aplicaciones para medir aceleracion lineal real presentan como en la siguiente imagen. De antemano muchas gracias si pueden sacarme de tal lio