项目活动14:三轴加速度传感器(1)水平仪

项目活动14:三轴加速度传感器(1)水平仪

课堂活动1:向左、向右倾斜

编程要点:

(1)“向左倾斜”、“向右倾斜”事件触发

(2)“Basic→…更多→显示箭头”积木:


MakeCode图形化编程:

当micro:bit沿x轴方向(水平方向)向左倾斜时,显示向西(向左)的箭头;

当micro:bit沿x轴方向(水平方向)向右倾斜时,显示向东(向右)的箭头。

模拟器运行效果:


课堂活动2:x方向直线水平仪

编程要点:

(1)“Input(输入)→获取加速度值(mg)”积木:

(2)测量范围(量程)

x、y、z轴加速度值取值范围均为-1024~+1024,当开发板平放、屏幕朝上时,x=0、y=0、z=-1024

(3)算法

区间(-1024,+1024)+1024区间(0,2048),这相当于完成一次数值范围的平移。

由于屏幕是5x5的点阵,x轴、y轴的维度上,都只有5个LED。

因此,把区间长度2048÷5的结果(≈410)作为除数,从而(加速度值+1024)÷410的运算结果自动向下取整后,将只会得到离散的0、1、2、3、4,这五种运算结果。当把这个运算结果最后赋值给绘图积木的x坐标时,会驱动相应的LED在不同的倾斜程度范围下被点亮。

MakeCode图形化编程:

模拟器运行效果:

提高灵敏度:

提高灵敏度,就是将最大的范围(-1024,+1024)进行缩小,比如缩小到(-200,+200),这样平移的距离也相应地缩小到+200,需要除以的数字,也缩小到80(400÷5=80)。

模拟器运行效果:


课堂活动3:xy平面水平仪

这是从一维(x轴、直线)升级到二维(x轴+y轴、平面)的情况。

MakeCode图形化编程:

模拟器运行效果:

编辑于 2017-11-08 23:52