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

问题描述 投票:0回答:1

我通过使用ADXL345连接datasheet传感器以及我能够承受TAP阈值设置的其他库。

我需要在example code确认:

// 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位

任何有关此建议的建议对我使用ADXL345传感器与Arduino接口非常有帮助

arduino hex arduino-ide adc assembly-resolution
1个回答
0
投票

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

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
© www.soinside.com 2019 - 2024. All rights reserved.