For one important project i need to detect the human falls. I am using the LIS3DH accelerometer configured as the following manner:
CTRL_REG1=0x77 //ODR=400 Hz, high-resolution mode/normal mode, ZYX axis enabled
CTRL_REG2=0x01 // High pass filter enabled for AOI function on interrupt 1
CTRL_REG3=0x40 // IA1 interrupt on INT1
CTRL_REG4=0x84 // Output register not updated until MSB and LSB reading, high-resolution enabled
INT1_THS=0x20 // 16mgx32=0,512g
INT1_CFG=0x2A // Or combination of interrupt events. Enable interrupt generation on X, Y and Z high event.
When the accelerometer has just the gravity acceleration applied along the z-axis, the output registers OUT_X_L, OUT_X_H, OUT_Y_L, OUT_Y_H, OUT_Z_L have the value 0, the register OUT_Z_H has the value 255.
When i apply acceleration the output registers OUT_X_L,OUT_X_H,OUT_Y_L,OUT_Y_H,OUT_Z_L just assume one of the following values: 64;128,192. The register OUT_Z_H have always the value 255. Obviously the values should vary between 0 and 255. When i apply acceleration is generated one interrupt on the pin INT1 detected by one microcontroller. On attachment i send the values of the output registers and the calculated acceleration.
Any help will be very appreciated.