行空板重力小球

2023-12-054646
AI 快速预览详细 收起
本文介绍了如何使用行空板的3轴陀螺仪传感器制作一个重力小球项目。首先,通过角速度累进计算得到角度,并通过3秒数值读取得到误差累计值,减去角速度误差以提高角度计算精度。然后,将角度转化为小球的速度,并通过系数调整减少角度对速度的影响。最后,计算小球的坐标并在屏幕上显示,实现小球的移动和反弹效果。该项目适合零基础新手和STEM教育场景,能够激发孩子对科技的兴趣。


行空板单板制作一个重力小球行空板的板载3轴陀螺仪传感器可以感应角度,着手制作一个利用重力控制的小球。
先看看传感器的数值是什么
行空板重力小球图1
拿到的数值会随着旋转而增大,但是旋转后,数值回落到平置的大小,所以陀螺仪传感器的数值是角速度而不是角度。
第一步就是把角速度累进计算得到角度
行空板重力小球图2
体验下来误差比较大,转半圈转回来数值就差了很多,这里通过3秒的数值读取得到误差的累计值,还加了个进度条展示进度,后面的角度计算中都减去角速度误差。
行空板重力小球图3
虽然还是有一点偏移,但是没那么严重,下面我们把角度变为小球的速度。
行空板重力小球图4
这里速度的数值太大了,一点角度的变动累加起来都很多,速度也是反的。给角度在控制速度的时候×一个比较小的系数,减少角度的影响。行空板重力小球图8

最后把速度计算得到坐标,小球初始坐标就是行空板的中心,也就是(120,160)。测试到这里才发现陀螺仪的xy和坐标xy是反的。所以刚开始计算角度的时候颠倒一下顺序。
计算误差的时候也别忘了颠倒一下顺序。

行空板重力小球图7
然后给小球加个边界,碰到边界反弹变换颜色(spring是反弹系数)
行空板重力小球图5
最后在开始的时候来点运行提示,
行空板重力小球图6





TueDecember-202312057647..png (243.53 KB, 下载次数: 2165)

STEM教育 · 行空板重力小球:利用陀螺仪传感器控制小球_image_3.webp

TueDecember-202312056029..png (205.78 KB, 下载次数: 2240)

STEM教育 · 行空板重力小球:利用陀螺仪传感器控制小球_image_6.webp

小球.mp

173.85 KB, 下载次数: 3217

小球.mp4

3.7 MB, 下载次数: 3165

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -