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

2020-04-013171
AI 快速预览详细 收起
本教程介绍了如何使用树莓派和GPIO控制多个LED灯,制作一个夜骑流水警示灯。首先讲解了杜邦线的连接方法,然后通过基础模块中的GPIO控制小灯的亮灭。标准版程序实现了三盏LED灯以相等时长依次亮灭,升级版则实现了变速闪烁效果。通过两个嵌套的for循环和局部变量i、j,实现了更复杂的输出控制。此外,还展示了其他形式的LED灯控制,如LED流水灯、跳动LED流水灯、LED交通信号灯和LED呼吸灯。
循环和变量的结合可以实现丰富的程序变化,上节课我们通过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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -