设为首页收藏labplus社区产品资料库
1482
积分值+2
520
掌控币+1
0  关注
123  粉丝
160  帖子
论坛小助手
2019年06月21日

#基础使用#【基础使用】玩转掌控板13—水平仪

万丈高楼平地起,建造高楼就像我们搭建积木一样,只有保证建造面的水平,才能建起万丈高楼,但是水平靠我们自己是很难掌握的,因此我们需要借助工具来测量水平,本节课我们就学习如何使用掌控板制作一个简单的水平仪。

学习目标

1、了解三轴加速度计的原理和学会使用“加速度”指令

2、复习巩固“int”整型指令的使用

3、复习巩固“映射”指令的使用

思维开发

我们首先在掌控板绘制一个点,用来观察水平情况,然后再绘制一个空心圆来限制点的活动范围,最后在圆心也就是平衡位置绘制一个矩形边框,当点位于边框内也就是水平位置,板载RGB灯亮起。

我们想要测量水平就需要用到板载的三轴加速度计,三轴加速度计在掌控板的背面


什么是三轴加速度计?


掌控板的三轴加速度传感器能够测量由于重力引起的加速度,三个轴分别是X轴,Y轴,Z轴,正方向如上图,我们可以利用右手来判断XYZ轴的方向。传感器在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。 掌控板上的加速度计测量加速度的范围为 -2g 至 +2g 之间。 掌控板的测量沿 X 、Y、Z 轴方向,每个轴的测量值是正数或负数。X轴代表前后倾斜,往前倾斜加速度数值倾向 -2g(负值), 往后倾斜加速度数值倾向 2g(正值);Y 轴代表左右倾斜,往左倾斜加速度数值倾向 2g, 反之向右倾斜倾向 -2g;Z 轴代表上下翻转。当读数为 0 时,表示沿着该特定轴“水平”放置。

程序流程

1、在掌控板oled屏的中间绘制矩形边框、空心圆,因为oled屏宽度为64,所以空心圆最大半径为32,这里我们设置30,矩形的尺寸自行设置,不宜过大(否则OLED屏幕装不进去),这里我们设置为宽6,高6。


2、设置两个变量,分别命名为X,Y,将X设置为y轴加速度,将Y设置为x轴加速度,由于加速度计的值为-1到+1之间,根据前面的知识,我们需要将它们映射,根据我们确定的空心圆尺寸,经过计算可得到点在x轴的活动区间为35-94,在y轴的活动区间为3-61,再根据图一加速度方向,x轴加速度取值为-1到+1对应的是点y轴坐标,y轴加速度取值为+1到-1对应的是点x轴坐标,映射完成之后会产生小数点,所以还需要进行整型。



贴士

变量X和Y用来确定OLED屏的点亮坐标。

看着可能觉得奇怪,为什么Y轴加速度是赋值给X变量,X轴加速度是赋值给Y变量呢?

通过下方图片可以看出,OLED与三轴加速度计显示XYZ轴方向是相反的!


3、将变量X的值赋值给点的x轴坐标,变量Y的值复制给点的y轴坐标


4、如果平衡点在矩形边框内,RGB灯亮,根据我们确定的矩形边框尺寸,通过计算可得出当61≤X≤66和29≤Y≤35时,平衡点在矩形边框内,运用我们已经学习的“如果否则”指令和RGB灯相关指令来编写程序


示例程序


演示效果


7

点赞

1604 次阅读1 条评论7 人赞
1条评论