1019浏览
查看: 1019|回复: 1

【临沂】第3课 求救信号灯的制作

[复制链接]
第3课求救信号灯的制作
知识点:
1.SOS灯光信号
2.for循环
3.全局变量及其应用SOS作为世界上通用的求救信号,如果用灯光信号来表示,三短亮代表字母S,三长亮代表字母O,再接着的三短亮代表。
【临沂】第3课 求救信号灯的制作图1
灯的长亮时间是短亮时间的三倍,而短亮时间则与LED两次点亮的间隔时间相同,字母与下一个字母间也有三倍短亮时间的熄灭间隔。如果使用前一节课的实现方法,发送完一次完整的SOS求救信号,需要12次亮灭控制,即48行代码。
【临沂】第3课 求救信号灯的制作图2
但其实SOS求救信号无外乎“短亮短灭”和“长亮短灭”两种闪烁方式,那有没有什么办法能够简便快捷的实现上述功能呢?这就是我们接下来要介绍的程序循环和变量的应用。首先新建一个变量用于控制LED灯持续亮灭的持续时间,我们创建一个语意明确的变量名delay来表示延迟
【临沂】第3课 求救信号灯的制作图3
为delay赋值
【临沂】第3课 求救信号灯的制作图4
这个数值是用来控制LED灯短亮和短灭的持续时间,赋值之后我们就可以开始SOS三个字母对应的编程了。在开始之前我们来了解下for循环:
【临沂】第3课 求救信号灯的制作图5
字母S的编程:
【临沂】第3课 求救信号灯的制作图6
字母之间有三倍的等待时间:
【临沂】第3课 求救信号灯的制作图7
字母O编程:
【临沂】第3课 求救信号灯的制作图8
LED灯一次SOS输出后需要等待7个delay时间进行下次输出:
【临沂】第3课 求救信号灯的制作图9
最后加上循环使程序持续运行:
【临沂】第3课 求救信号灯的制作图10
上传程序看下效果吧。这节课主要讲解了如何使用循环功能实现特定次数的单一功能编程,循环的引入可以极大的简化程序代码量,而变量的引入则可以将程序中所有有数学关系的值联系到一起,并且能方便的实现批量修改。比如本案例中的信号灯亮灭的持续时间,如果想让闪烁的单位时间间隔延长至0.3秒,则只需要将程序第一行中的0.5改为0.3就可以了。同学们赶快动手尝试一下吧。

DFrJ5KYVQaH  中级技匠

发表于 2020-4-1 17:01:32

好,赞一个
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail