美文网首页
利用li3dh算出角度

利用li3dh算出角度

作者: 昨天剩下的一杯冷茶 | 来源:发表于2018-10-19 19:48 被阅读45次
//角度算法
void get_angel(int x,int y,int z)
{
    int16_t tmp;
    double q,f_t,f_z,angle;

    if(true==is_motor_on()) return;
    
    f_t= sqrt(x*x+y*y+z*z);
    f_z=abs(z);


    q=acos(f_z/f_t);
    if(y<0)
        angle=q*180/3.14;
    else
        angle=-q*180/3.14;

    if(angle>90 || angle<-90)
    return;
    tmp=angle*100;

    
    angle_valu = tmp;
    
    

}

//将3dh数据计算出角度
void Get_lis3dh_buff(void)
{
    uint8_t times,i;

    int x_sum=0,y_sum=0,z_sum=0 ,n=0;

    if (g_3dh_ok == false)
        return;
//  AxesRaw_t lis3dh_data;
    LIS3DH_ReadReg(LIS3DH_FIFO_SRC_REG, &times);
    times = times&0x1f;

    for(i=0; i<times; i++)
    {
        LIS3DH_GetAccAxesRaw(&axes[i%25]);
    }

    n=times%25;
    for(uint8_t k= 0; k<n; k++)
    {
        x_sum+= axes[k].AXIS_X;
        y_sum+= axes[k].AXIS_Y;
        z_sum+= axes[k].AXIS_Z;
    }

    x_sum = x_sum/n;
    y_sum = y_sum/n;
    z_sum = z_sum/n;

    get_angel(x_sum,y_sum,z_sum);

    LI3DH_LOGRTT("x:%d y:%d z:%d  angle:%d.%d\r\n",x_sum,y_sum,z_sum,Retuen_angel()/100, abs(Retuen_angel()%100));

}

//应用层获取数据
int16_t Retuen_angel(void)
{
    if (g_3dh_ok == false)
    {
        return 0xffff;
    }
    return angle_valu;
}

相关文章

  • 利用li3dh算出角度

  • (基础外围设备)SPI

    我需要硬件来验证我的SPI驱动是否写对了,我选择Li3dh模块,在转动LI3DH时,三个轴的数据不同。

  • 1027 打印沙漏(PTA)

    思路 利用等差变形公式算出最大的层数,继而可以算出最多需要多少个字符 先输出上部分,依次输出,利用flag++表示...

  • 指示器隐藏

    ##九宫格 -利用空间索引计算出控件所在的行号和列好 -利用列好计算X -利用行号计算Y ##HUB -其他说法,...

  • iOS(UI)

    ## 九宫格计算思路 - 利用控件的索引index计算出控件所在的行号和列号 - 利用列号计算控件的x值 - 利用...

  • 画の喃喃自语(94)-温馨的小角落

    完成稿。 学习笔记1、利用比例和角度关系定点起型2、利用比例和角度关系检查对象大型总结为9个字:定起点、量角度、找...

  • 2022-12-06加油!!!!L3局部对齐

    Karp-Rabin algorithm----exact matching 利用hash对一串字符算出值不同子串...

  • UI基础4 九宫格计算 HUD Plist文件 Bundle

    九宫格计算思路 利用控件索引index计算出控件所在的行号和列号 利用列号计算控件的x值 利用行号计算控件的y值 ...

  • iOS回炉笔记整理1

    九宫格计算思路 利用控件的索引index计算出控件所在的行号和列号 利用列号计算控件的x值 利用行号计算控件的y值...

  • iOS零散知识

    九宫格计算思路 利用控件的索引index计算出控件所在的行号和列号 利用列号计算控件的x值 利用行号计算控件的y值...

网友评论

      本文标题:利用li3dh算出角度

      本文链接:https://www.haomeiwen.com/subject/zjpuzftx.html