资产跟踪设备中BMA250E获取三轴加速度数值驱动代码

Posted 瑞奇Ricky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了资产跟踪设备中BMA250E获取三轴加速度数值驱动代码相关的知识,希望对你有一定的参考价值。

近年来随着互联网的发展,线上购物与交通运输行业也随之发展。线上购物为传统的生产制造注入了新的活力。除了B2C线上交易得到了质的飞跃外,传统的B2B贸易也逐渐线上化。但运输过程中的风险一直是交易中企业双方所关心的重点话题。资产监测设备结合物联网技术能够对货物的实时位置、状态与运动轨迹等,为货物的运输的监测提供新的解决方案。

资产监测设备中结合了多种类型的传感器,来搜集资产的实时状况,通过通信模块与网络将信息传递至云端后台。

近期在某个定制资产跟踪设备的新项目合作过程中,开发人员遇到了如何用BMA250E获取三轴加速度数值驱动代码的问题,经过开发人员的进一步确认,提出了以下解决方案:

BMA250E是一款针对消费电子类应用的低重力、数字式加速度传感器,能够测量三个相互正交的方向上的加速度大小。测量值由传感器的ASIC电路,通过将采用了差动电容原理的,加速度微机械感应结构的输出值转换得到。BMA250E的封装和接口设计可以满足大多数情况下的硬件需求,极微小的引脚加上扁平的外形封装非常适合于移动平台的应用。

//读取一个字节数据

uint8_t Bsp_Gsensor_ReadByte(uint8_t reg_addr)
{
uint8_t data;

Bsp_Gsensor_IIC_Start();

Bsp_Gsensor_IIC_Write_Byte(Bsp_Gsensor_IIC_ADDR);
Bsp_Gsensor_IIC_Wait_Ack();
Bsp_Gsensor_IIC_Write_Byte(reg_addr);

// Bsp_Gsensor_IIC_Stop();

Bsp_Gsensor_IIC_Write_Byte(Bsp_Gsensor_IIC_ADDR + 0x01);

data = Bsp_Gsensor_IIC_Read_Byte(0);//发送NACK 停止传输
Bsp_Gsensor_IIC_Stop();

return data;
}
//三轴加速度结构体
typedef struct
float x;
float y;
float z;
}ACCD_t;

//获取加速度 返回值:float 加速度 单位:g
void Gsensor_GetACCD(ACCD_t *accd)
const uint16_t AccdNum = 3;

int16_t accd_value;
int16_t accd_l,accd_m;
float accd_f;

uint8_t xyz[AccdNum][2]
= {{Gsensor_REG_ACCD_X_LSB,Gsensor_REG_ACCD_X_MSB},
{Gsensor_REG_ACCD_Y_LSB,Gsensor_REG_ACCD_Y_MSB},
{Gsensor_REG_ACCD_Z_LSB,Gsensor_REG_ACCD_Z_MSB}};

for(uint16_t i = 0;i < 3;i++)
{
accd_l = (Bsp_Gsensor_ReadByte(xyz[i][0])>>2);
accd_m = Bsp_Gsensor_ReadByte(xyz[i][1]);

accd_value = (accd_l>>6) + (accd_m<<2);

accd_value &= 0x03ff;

if(accd_value >> 9)//负数
accd_value &= 0x01ff;
accd_value = ~accd_value;
accd_value += 1;
accd_value = - accd_value;
accd_f = (accd_value*Gsensor_MeasureRange/1024.0);
switch (i)
case 0:
accd->x = accd_f;
break;
case 1:
accd->y = accd_f;
case 2:
accd->z = accd_f;
default:
}
从事物联网资产跟踪设备的其他开发人员,在遇到类似问题时,可参考以上内容。

以上是关于资产跟踪设备中BMA250E获取三轴加速度数值驱动代码的主要内容,如果未能解决你的问题,请参考以下文章

资产监测设备中三轴重力加速度解析

技术科普三轴传感器SC7A20三轴数据的格式转换问题

资产监测设备中定位角度的计算

资产跟踪设备中GPS精度因子的数值和范围

云息|技术科普 资产跟踪设备中指示灯的驱动设计

云息技术科普三轴传感器SC7A20硬件图以及IIC和SPI选择方式的选择