1548浏览
查看: 1548|回复: 0

【临沂】第4课 夜骑流水警示灯

[复制链接]
循环和变量的结合可以实现丰富的程序变化,上节课我们通过for循环与全局变量delay的结合,简化了程序的编写,这节课我们将进一步学习如何使用循环和变量来实现多端口的输出控制,做一个酷炫的流水警示灯。
知识点:
1.   杜邦线
2.   程序循环控制
3.   局部变量及其应用
任务
1.   制作一个以相同频率依次闪烁的警示灯
2.   调整不同LED的闪烁时长来制作一个可变速闪烁的警示灯。
本课所用器材:
【临沂】第4课 夜骑流水警示灯图1
                              
杜邦线
杜邦线是各种外设连接树莓派必不可少的,它有三种,公对公,公对母,母对母。
【临沂】第4课 夜骑流水警示灯图2
本节课我们要用杜邦线把LED灯连接到树莓派扩展板23,24,25号引脚上,同学们自己动手做一下吧!
硬件搭建好后我们来编写程序,首先是标准版的夜骑警示灯。在这里我们使用基础模块中的GPIO来控制小灯的亮灭。
【临沂】第4课 夜骑流水警示灯图3
GPIO为1小灯亮,GPIO为0小灯灭。
思考:还可以用什么方法实现小灯的亮灭?
标准版程序如下:
【临沂】第4课 夜骑流水警示灯图4
上传程序看下效果,你会发现三盏LED灯以相等的时长依次亮灭。接下来我们来编写升级版的变速安全警示灯,效果如下:LED灯变速闪烁,灯的亮灭持续时间在每一次循环当中保持一致,但在不同的循环当中都有变化。
同学们思考一下该如何实现,动手自己做一张吧!
程序如下:
【临沂】第4课 夜骑流水警示灯图5
本堂课中我们首先讲解了如何使用for循环来实现多端口的输出控制,然后又学习了两个嵌套的for循环并引入了两个循环变量i和j,从而实现了更复杂的输出控制。其中我们定义的delay变量可以被任何一个for循环内的延时函数直接调用,我们称它为全局变量。像i和j这样仅可以被某个函数内部调用的变量我们称之为局部变量。
拓展
一些其它形式控制的LED灯
LED流水灯
【临沂】第4课 夜骑流水警示灯图6
思考:为什么在循环外要加积木“控制5号灯灭”
跳动LED流水灯:
【临沂】第4课 夜骑流水警示灯图7
  
LED交通信号灯:
【临沂】第4课 夜骑流水警示灯图8
LED呼吸灯:
【临沂】第4课 夜骑流水警示灯图9

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

本版积分规则

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

硬件清单

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

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

mail