点击ADXL345传感器的检测数据转换



我正在使用数据表以及我能够在TAP阈值设置下设置的其他库ADXL345传感器进行接口。

我需要在示例代码中确认:

// Set values for what is considered a TAP and what is a DOUBLE TAP (0-
255)
adxl.setTapThreshold(50);           // 62.5 mg per increment
adxl.setTapDuration(15);            // 625 μs per increment
adxl.setDoubleTapLatency(80);       // 1.25 ms per increment
adxl.setDoubleTapWindow(200);       // 1.25 ms per increment

其中根据数据表中提到的比例因子提到的用户设置值, 我在这里面临疑问,需要清除这一点

  1. Tap解决方案提到的值是十进制值还是十六进制值?

  2. 需要知道用于创建设置阈值的转换公式。

作为我正在使用ADXL345传感器,最大分辨率为 13 位,因此我想将值设置为每 13 位

有关此的任何建议建议都将对我与Arduino进行ADXL345传感器接口非常有帮助

这些值是十进制值 - 您可以在注释中看到它们与实际物理值的关系:

adxl.setTapThreshold(50);           // 62.5 mg per increment -> 62.5mg * 50 = 3.125g
adxl.setTapDuration(15);            // 625 μs per increment -> 625us * 15 = 9.375ms
adxl.setDoubleTapLatency(80);       // 1.25 ms per increment -> 1.25ms * 80 = 100ms
adxl.setDoubleTapWindow(200);       // 1.25 ms per increment -> 1.25ms * 200 = 250ms

因此,要计算出 Xg 阈值所需的值,请使用公式

v = X / 62.5mg = X / 0.0625

例如,对于 5g 的阈值:

adxl.setTapThreshold(80); // Because 5 / 0.0625 = 80

相关内容

  • 没有找到相关文章

最新更新