Xadow - 三轴加速度计
这是一款高分辨率数字加速度计,具有±16g的大测量范围,通过I2C接口适合监测运动状态。使用此模块,您可以轻松地在设计中添加运动监测功能,例如手臂或腿部的晃动。如果您想通过手臂晃动来切换iPhone歌曲,那么这个模块非常适合您。
规格
- 尺寸:25.43mm x 20.35mm
- 工作电压:3.3V
- 分辨率:3.9mg/LSB
- 测试范围:±16g
- 控制模式:I2C
演示
与其他 Xadow 模块类似,在上传测试代码到 Xadow 主板以获取加速度计信息之前,您需要将 Xadow 三轴加速度计连接到 Xadow 主板。
硬件安装:
note
当将 Xadow 三轴加速度计连接到 Xadow 主板时,您需要注意连接方向。连接方法是一个 Xadow 模块的未填角需要连接到另一个模块的直角(参见每个 Xadow 模块的四个角)。
测试代码如下所示:
#include <Wire.h>
#define ADXL345_DEVICE 0x00
#define ADXL345_POWER_CTL 0x2D
#define ADXL345_DATAX0 0x32
#define ADXL345_DATAX1 0x33
#define ADXL345_DATAY0 0x34
#define ADXL345_DATAY1 0x35
#define ADXL345_DATAZ0 0x36
#define ADXL345_DATAZ1 0x37
#define ADXL345_ADDRESS 0x53
int X_Read,Y_Read,Z_Read;
double ax,ay,az;
void setup()
{
Wire.begin();
Serial.begin(19200);
delay(100);
//开启 ADXL345
Wire.beginTransmission(ADXL345_DEVICE); // 开始传输到设备
Wire.write(ADXL345_POWER_CTL);
Wire.write(8); //启用测量
Wire.endTransmission(); //结束传输
}
void loop()
{
X_Read = readRegister(ADXL345_ADDRESS,ADXL345_DATAX0,ADXL345_DATAX1);
Y_Read = readRegister(ADXL345_ADDRESS,ADXL345_DATAY0,ADXL345_DATAY1);
Z_Read = readRegister(ADXL345_ADDRESS,ADXL345_DATAZ0,ADXL345_DATAZ1);
/*Serial.print("X,Y,Z 的值为:");
Serial.print(X_Read);
Serial.print(" , ");
Serial.print(Y_Read);
Serial.print(" , ");
Serial.println(Z_Read); */
getAcceleration();
Serial.print("X=");
Serial.print(ax);
Serial.println(" g");
Serial.print("Y=");
Serial.print(ay);
Serial.println(" g");
Serial.print("Z=");
Serial.print(az);
Serial.println(" g");
Serial.println("**********************");
delay(500);
}
int readRegister(int deviceAddress,int address1,int address2)
{
long int value;
int readValue1,readValue2;
Wire.beginTransmission(deviceAddress);
Wire.write(address1); // 要读取的寄存器
Wire.write(address2); // 要读取的寄存器
Wire.endTransmission();
Wire.requestFrom(deviceAddress,2); // 读取两个字节
if(Wire.available()<=2)
{
readValue1 = Wire.read();
readValue2 = Wire.read();
}
//Wire.endTransmission();
readValue2 = readValue2<<8;
value= readValue1 + readValue2;
delay(100);
return value;
}
void getAcceleration()
{
double gains;
//加速度计相关计算
gains = 0.00390625;
ax=X_Read * gains;
ay=Y_Read * gains;
az=Z_Read * gains;
}
上传代码后,打开串口监视器观察测试结果。此传感器的输出是三轴加速度信息,已转换为重力单位“g”。
参考
以下是两个图表,可以帮助您理解结果的物理意义。 第一个图表是关于每个轴的方向:
第二个图表提供了一些示例:
在线原理图查看器
资源
技术支持与产品讨论
感谢您选择我们的产品!我们提供多种支持渠道,以确保您使用我们的产品时体验顺畅。我们提供多个沟通渠道,以满足不同的偏好和需求。