9967| 5
|
[M10项目] 行空板——Micro:bit——加速度计计算倾斜方位 |
本帖最后由 云天 于 2022-10-4 19:43 编辑 【行空板——加度计】 行空板上ICM-20689追踪物体运动6轴IMU惯性传感器在同一个硅芯片上配有3轴陀螺仪和3轴加速度计,是市场上性能的传感器,具有的噪音、的温度稳定性和的灵敏度精度。 ![]() 【micro:bit——加速度计】 micro:bit主板上配备有一个加速度计,可以测量X,Y,Z轴的运动,横向左右移动为X轴,纵向前后移动为Y轴,高低上下移动为Z轴,可以很好的检测mincro:bit在空间中的位置以及移动方向。每一根轴都有一种方法,返回一个整数或者负数,当读数为0的时候,在该轴方向是水平的。 ![]() ![]() 【欧拉角】 pitch是俯仰角,是“点头“,(在固定翼飞机中则由升降舵舵机控制) yaw是偏航角,是‘摇头’,(在固定翼飞机中则由方向舵舵机控制) roll是旋转角,是“翻滚”,(在固定翼飞机中则由副翼舵机控制) 欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度。这样的话,很容易想到,同样的一个三维向量,代表了绕x,y,z的旋转值,先进行那个旋转是否对结果有影响呢?显然是有影响的,可以拿着你的手机试一下,不同的旋转顺序会代表不同的旋转结果。所以,一般引擎都会规定自己的旋转顺序。 下面三张动图形象的表示了欧拉角的旋转方式。第一张是绕x轴旋转pitch,第二张绕y轴旋转yaw,第三张是绕z轴旋转roll。 ![]() ![]() ![]() 加速度计来计算侧倾和俯仰。以下是用于计算侧倾和俯仰的方程式。 pitch = 180 * atan (accelerationX/sqrt(accelerationY*accelerationY +accelerationZ*accelerationZ))/M_PI; roll = 180 * atan (accelerationY/sqrt(accelerationX*accelerationX +accelerationZ*accelerationZ))/M_PI; yaw = 180 * atan (accelerationZ/sqrt(accelerationX*accelerationX +accelerationY*accelerationY))/M_PI; M_PI = 3.14159265358979323846 【行空板——图形化编程】 Mind+编程软件,Mind+是一款集成了包括行空板在内的大量开源硬件的编程软件,它拥有非常多的图形化基础指令和扩展库。 1、获取校准数据(零点漂移) 在传感器水平静止的放在桌面上时,陀螺仪角速度的值应该为零,加速度计的X轴,Y轴的值应该为0,Z轴的值应该为8192(重力加速度g,1/4量程)。 传感器安装在设备上总有一个初始的角度,我们设这个角度为0度,那我们每一次的数据都要减去这个初始数据,得到一个相对的角度。为了保证数据的准确性,我们在初始静止的状态测量大量数据(我取了1000个),用程序算出平均值,然后以后测量的数据都要减去这个平均值。 ![]() 2、完整程序 ![]() 【Micro:bit编程】 1、计算roll,pitch ![]() 2、灯环共24灯,每个间隔15度,按平面直角坐标系分四个区。 ![]() 3、完整程序 ![]() 4、演示视频 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed