谁能告诉我剂量是什么意思 4/ 32768.0

can someone tell me what dose it mean 4/ 32768.0

我正在使用 arduino nano 33 Ble 并且正在使用 Lib Arduino_LSM9DS1 我试图理解方程式,但我不明白

说数据[0]*4/32768 lsb 32768。 它应该是一个 16 位的 rigester,其中 lsb 应该是 2^16 = 65536。或者他们使用 -+ 32768? 到底是什么 4 ?为什么使用这个铃声不是 8 或 16?

有人能给我解释一下吗? 以及如何准确地获得加速度和单位?

int LSM9DS1Class::readAcceleration(float& x, float& y, float& z)
{
  int16_t data[3];

  if (!readRegisters(LSM9DS1_ADDRESS, LSM9DS1_OUT_X_XL, (uint8_t*)data, sizeof(data))) {
    x = NAN;
    y = NAN;
    z = NAN;

    return 0;
  }

  x = data[0] * 4.0 / 32768.0;
  y = data[1] * 4.0 / 32768.0;
  z = data[2] * 4.0 / 32768.0;

  return 1;
} 

documentation 指出:

Accelerometer range is set at [-4,+4]g -/+0.122 mg

所以,函数readAcceleration返回的值在[-4,4]范围内,代表-4g到4g

g 就是 gravitational acceleration = 9.81 m/s2

您显示的代码是函数 readAcceleration 的实现。据我了解,原始加速度数据表示为 16 位有符号整数(介于 -32,768 到 32,767 之间),然后对其进行归一化(除以 32,768)并乘以 4 以放入 [-4,4 的正确范围内].