特别声明:本系列课程是我校的校本教程,主要针对有一定基础的创客兴趣小组同学。 本系列课程结合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、对程序进行优化。这一步对于很多同学而言有点难度,但是大家要花时间去理解和掌握
大家课后除了完成作业,再想一想我们还可以利用这些已学知识制作什么东西呢?
附件:掌控板红绿灯
点赞