我正在使用数据表以及我能够在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
其中根据数据表中提到的比例因子提到的用户设置值, 我在这里面临疑问,需要清除这一点
Tap解决方案提到的值是十进制值还是十六进制值?
需要知道用于创建设置阈值的转换公式。
作为我正在使用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