加速度计入门指南
本仓库演示了如何从 Wio Terminal 读取加速度计数值。

3轴数字加速度计初始化
要在 Wio Terminal 上初始化加速度计:
-
设置输出数据速率:
lis.setOutputDataRate()
,从 1Hz 到 5kHz。 -
设置量程范围:
lis.FullScaleRange()
,从 2g 到 16g。
#include"LIS3DHTR.h"
LIS3DHTR<TwoWire> lis;
void setup() {
...
lis.begin(Wire1);
lis.setOutputDataRate(LIS3DHTR_DATARATE_25HZ); // 设置输出数据速率为 25Hz,最高可设置到 5kHz
lis.setFullScaleRange(LIS3DHTR_RANGE_2G); // 设置量程范围为 2g,可从 2、4、8、16g 中选择
...
}
读取加速度计数值
要读取 Wio Terminal 上各轴的加速度计数值,只需按照以下方式:
void loop() {
float x_values, y_values, z_values;
x_values = lis.getAccelerationX();
y_values = lis.getAccelerationY();
z_values = lis.getAccelerationZ();
delay(50); // 延迟以避免一次读取大量数据
...
}
注意:强烈建议使用延迟来避免一次读取大量数据。
示例代码
此示例在串口监视器上打印加速度计的所有 3 轴数值。
#include"LIS3DHTR.h"
LIS3DHTR<TwoWire> lis;
void setup() {
Serial.begin(115200);
lis.begin(Wire1);
if (!lis) {
Serial.println("ERROR");
while(1);
}
lis.setOutputDataRate(LIS3DHTR_DATARATE_25HZ); //数据输出速率
lis.setFullScaleRange(LIS3DHTR_RANGE_2G); //量程范围设置为 2g
}
void loop() {
float x_values, y_values, z_values;
x_values = lis.getAccelerationX();
y_values = lis.getAccelerationY();
z_values = lis.getAccelerationZ();
Serial.print("X: "); Serial.print(x_values);
Serial.print(" Y: "); Serial.print(y_values);
Serial.print(" Z: "); Serial.print(z_values);
Serial.println();
delay(50);
}