应一位粉丝的要求,做了一台光能小车.
小车的制作并不难,所以我们就不配搭建手册了,直接看程序。

看得出,这个小车的程序主要有两个阶段,“储能”和“释放”。
这两个阶段我们都需要对“能量”进行操作,现实生活中这东西可能是个电容,可能是个电池,但在EV3里面,我们需要用变量来模拟这个能量寄存装置。
所以第一步就是建立一个变量,名字可以叫“Power”。

第二步,是一段储存能量的程序:

在这个循环中,第一个等待模块是用来判定当前环境光是否大于阈值的,大于就继续,否则等待;接下来是一个变量+4的运算,这段程序每循环一次,Power变量就+4;然后等待0.25秒,这是为了避免Power积累速度过快,加上了一个间隙;最后我们还要判定Power是否达到了100,≥100则跳出循环,否则继续循环。
能量储存达到了100之后,我们要进入“释放”阶段。释放的程序也是一个循环,跟“储能阶段的循环基本上一样:

跟“储能”不一样的是:
- 不需要判定环境光是否大于阈值了;
- Power在这个阶段要做减法,每循环一次-4;
- 最后是否跳出循环的判定,由原来的“≥100”变成“≤0”;
- 最重要的一点,需要加入一个移动转向模块,如果你喜欢移动槽,也是一样的。
这两个循环基本上就是整个程序的主要功能了,但这么做还不够直观,我们看不到能量储存和释放的进度。所以我们就需要建立一段并行程序来实时显示Power的动态,以进度条的形式。

为了能够让显示的内容实时刷新,我们依然要把这段程序放在循环内。
EV3的屏幕是一块分辨率为177×127的点阵屏幕,所以我们这个进度条最宽是177,两边各留下2个像素的空挡比较美观,所以这个进度条应该是173的宽度。
当然,进度条它得能动才叫进度条,不然它就是个矩形。我们接下来要把进度条的宽度和Power变量挂钩。抓取Power的数值×1.72就可以了。有了这段程序,你就能看到Power以UI的形式显示在屏幕中了。
整个程序全景图:

以下是程序的下载地址:
链接:
https://pan.baidu.com/s/1E32mdqSLE0HhmQ6_Fv8a7A
提取码:c53f
二牛今天的分享就到这儿了,如果你喜欢,请关注我们,这里提供专业的机器人教育培训内容,更多干货等你挖掘!如有培训或者是课程支持需求,请于后台发送消息,我们会在第一时间及时回复!