关注
4
粉丝
7
帖子
肥罗-阿勇
2019年11月24日

创客兴趣小组系列教程之掌控板一——点亮未来

特别声明:本系列课程是我校的校本教程,主要针对有一定基础的创客兴趣小组同学。 本系列课程结合STEAM,在课程中融合了其他学科知识。

在上节课《初识掌控》中,我们已经基本了解了掌控板的各项部件,以及它的功能,本节课开始我们正式开始学习如何利用掌控板来把我们的创意实现。

教学目标:

知识目标:学会利用mpython软件进行编程,实现掌控板的LED各种点亮功能。

能力目标:融合数学知识、艺术知识,日常常识等知识制作一个红绿灯

情感态度价值观:注重细节,养成严谨的科学态度

重点:

1、学习掌控板的基本知识。

2、学习如何利用mpython进行硬件编程

3、学会点亮掌控板的LED灯

4、制作一个红绿灯

难点: 对程序进行优化。

教学过程:

一、基本知识学习

在掌控板上有三个LED灯,如图

我们来看看mpython软件中关于LED灯的编程模块


我们这里有三个LED灯,一般日常我们说这是1,2,3号灯

但是我们编程世界,一切都是从0开始

因此这三个灯,分别是0,1,2号

我们先来做一个简单的点亮LED灯


任务一:制作闪烁灯

任务:制作一个闪烁的灯带

提问:闪烁如何实现?

闪烁实际上就是亮和灭交替出现


这样就能实现LED灯的闪烁了。

任务二

制作一个红绿灯


红绿灯在我们的日常生活中随处可见,今天我们就用掌控版来制作一个简易的红绿灯

要求如下:

1、绿灯显示9秒,最后三秒是闪烁的,屏幕显示倒数计时。

2、绿地之后是黄灯,黄灯显示三秒,三秒都是闪烁的,屏幕显示倒数计时。

3、黄灯之后是红灯,红灯显示9秒,最后三秒是闪烁的,屏幕显示倒数计时。

红灯之后就是绿灯,依此循环……

提示:

屏幕显示倒计数的代码如下:

具体屏幕显示技术我们下节课重点讲


我们来分析一下这个任务:

1、绿灯显示9秒,最后三秒是闪烁的。

这个任务我们可以拆解为绿灯正常显示6秒,然后闪烁3秒


特别注意:

在常亮的时候,亮灯和显示数字先后顺序没有关系。

但是在闪烁的时候就必须把显示数字放前面

这是为什么呢?好好想一想,然后实际验证一下。

同理第二步就比较简单了


第三步和第一步是一样的,这里就不累述了。

这样我们的红绿灯就做好了。

做到这一步是不是就完了呢?

我们编程一定要做到以下几点:

1、程序首先保证正确。

2、在正确的前提下尽量优化代码。

3、在优化的基础上尽量提供完善的扩展性。


我们来分析整个程序代码

正确是没问题的

是否可以优化?是否可以提供扩展性?

我们发现实际上程序有大量重复代码,而且灯其实只有两种状态,一种是长亮,一种是闪烁

因此我们可以把这些代码做成函数,主程序直接调用就可以了


我们先来看看这个常亮函数和闪烁函数

其中 参数 X 是代表第几个灯

因为要考虑到每个灯都可以调用,因此这里不能再指定颜色

要用RGB把灯的颜色用数字指示出来。

简单来说

红色对应的RGB数字是 255,0,0

黄色对应的RGB数字是 255,255,0

绿色对应的RGB数字是 0,255,0

参数Y是代表显示到了第几秒


然后主程序,三种灯黄色只有一种情况,而红色和绿色有两种情况,我们可以用条件语句来做到一起

整个代码如下:


看上去要复杂很多,但是这样逻辑关系比较清楚,对于以后的更改也更方便,也就是扩展性更强。

我们再来看看两个函数,发现没有,其实他们有很多东西是一样的,变化也比较少。

我们还可以进行优化


其中加入一个参数KK,当KK=1执行常亮,否则执行闪烁

程序到了这一步,我们想一想还可不可以更加优化。

总结:

本节课我们学习了

1、掌控板RGB灯的基本操作

2、利用所学知识制作了一个红绿灯

3、对程序进行优化。这一步对于很多同学而言有点难度,但是大家要花时间去理解和掌握

大家课后除了完成作业,再想一想我们还可以利用这些已学知识制作什么东西呢?

附件:掌控板红绿灯

4

点赞

270 次阅读4 人赞4 人订阅