mpu6050判断自由落体状态的方法

mpu6050判断自由落体状态的方法

mpu6050在静止状态时,三个轴方向上的加速度值为有一个方向上的加速度大小为g,其余两个方向上为0。当mpu6050处于自由落体状态时,三个轴方向上的加速度值均为0(实际情况可能会有微小偏差)。

//将加速度传感器的原始数据(数字信号)转换为模拟信号(m/s^2):

 //获取转换后的加速度值, g自定义重力加速度值
void Get_Accelerometer(void)
{
      short aacx,aacy,aacz;		//加速度传感器原始数据
      MPU_Get_Accelerometer(&aacx,&aacy,&aacz);	//得到加速度传感器数据
      acc_x=2\*g\*aacx/32768;  //转换后的加速度值
      acc_y=2\*g\*aacy/32768;
 	  acc_z=2\*g\*aacz/32768;
}

//延迟自由落体状态触发。

//延迟自由落体状态触发。time:自定义t++执行最小次数,用于延迟事件触发。acc_lim:自定义自由落体最小阈值
while(1)
	{
                  Get_Accelerometer();
                  t = 0;
                  while(acc_z <= acc_lim && acc_x <= acc_lim  && acc_y <= acc_lim) {
                        t++;
                        delay_ms(1);
                        if(t == time) 触发事件;
                        Get_Accelerometer();
                  }                 
	} 	

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值