901| 0
|
[教程] 行空板重力小球 |
本帖最后由 eiyhNFReMILG 于 2023-12-5 17:20 编辑 行空板单板制作一个重力小球行空板的板载3轴陀螺仪传感器可以感应角度,着手制作一个利用重力控制的小球。 先看看传感器的数值是什么 ![]() 拿到的数值会随着旋转而增大,但是旋转后,数值回落到平置的大小,所以陀螺仪传感器的数值是角速度而不是角度。 第一步就是把角速度累进计算得到角度 ![]() 体验下来误差比较大,转半圈转回来数值就差了很多,这里通过3秒的数值读取得到误差的累计值,还加了个进度条展示进度,后面的角度计算中都减去角速度误差。 ![]() 虽然还是有一点偏移,但是没那么严重,下面我们把角度变为小球的速度。 ![]() 这里速度的数值太大了,一点角度的变动累加起来都很多,速度也是反的。给角度在控制速度的时候×一个比较小的系数,减少角度的影响。 ![]() 最后把速度计算得到坐标,小球初始坐标就是行空板的中心,也就是(120,160)。测试到这里才发现陀螺仪的xy和坐标xy是反的。所以刚开始计算角度的时候颠倒一下顺序。 计算误差的时候也别忘了颠倒一下顺序。 ![]() 然后给小球加个边界,碰到边界反弹变换颜色(spring是反弹系数) ![]() 最后在开始的时候来点运行提示, ![]() |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed