2664| 2
|
第11课 电子时钟 |
11.电子时钟 星火课程团队 欢迎来到树莓派课堂。这节课我们尝试用数码管来制作电子时钟。 知识点: 认识数码管 取整取余数学运算 所需硬件: 树莓派主板 古德微扩展板 数码管 1.认识数码管 首先我们来认识一下今天的主角——数码管,它其实是显示屏中的一类,通过对其不同管脚输入相对的电流而发亮,从而用数字来显示时间、距离、日期、温度等所有可用数字表示的参数。因价格便宜、使用简单,在电器特别是家电领域广泛应用。 仔细观察数码管,我们发现它是由四个看起来像8的数字组成,而每个“8”字又是由七个LED构成,右下角用于显示小数点的DP也是一个发光二极管单元。 我们把数码管上的数字按从左向右的顺序依次称之为0号数码管、1号数码管、2号数码管和3号数码管。小数点也标注上序号。咦?第一个点怎么没有序号?是不是标错了?不是的,图中的标注完全正确。因为我们使用的四位数码管比较特殊,它与普通的四位数码管略有区别。 你看,这种型号的数码管,每个位数的右下角都有一个可以点亮的“点”。而我们用的数码管将最左边的“点”移动到了1号点位置。所以,最左边的点看看可以,但实际上是不能被点亮的。 刚刚我们说数码管是由LED组成,那么它的内部又是怎样的呢?一起来看一下数码管的电路图。 从图中我们可以看到,每一个号段的数码管都是由7段灯管和右下角的小LED灯组成。这样的数码管我们习惯称之为八段管。若有人把数码管叫成七段管,那必定是数码管中不包含右下角的LED灯。一个八段管8根正极加一根负极合起来需要9根杜邦线,像这样的四位数码管岂不需要36根?如果数码管真的留有这么多针脚那还真的是太麻烦了,因此经过后期电路设计,在保证显示效果的前提下,数码管只留有4个针脚。那么数码管的这四个针脚要怎么连接到扩展板上呢? 2.硬件连接 3.数码管显示数字 数码管连接好了,我们首先让数码管显示一组有意义的数字1573。你能猜到这组数字表示什么意思吗?对,一往情深。这里我希望你能对我们的树莓派课程一往情深,让树莓派的强大功能改变你我的生活。 打开古德微平台,在“智能硬件”模块中找到“数码管”。通过字面意思,我们可以猜到每块积木的作用。把鼠标指针放在积木上,还可以看到有关这个积木功能的详细介绍。 我们在使用数码管前,首先需要关闭所有的数码管,否则容易出错。将参数分别改为0、1、2、3. 接下来我们为数码管设置亮度,亮度值在1-7之间,数值越大亮度就越亮,这里我们使用默认值1就可以了。在这里有一个热别有意思的地方,由于我们使用的数码管的物理因素,即使我们将每一个编号的数码管都设置成不同的亮度,但所有编号的数码管最终也只会统一显示最后设置的亮度。 之后我们使用这块积木让数码管显示内容。 这块积木有三个参数,第一个表示数码管的代号,第二是是数码管显示的内容,第三个是否显示对应位数小数点,输入0 不显示小数点,输入1显示小数点。由于我们这里不需要显示小数点,输入0即可。我们把积木复制依次更改显示内容。 上传程序,看下效果。 4.数码管显示时间 数码管显示数字非常简单,那么若想让数码管显示时间,又该如何更改程序呢?前面我们提到冒号灯管的代号是1。所以,只需要1号数码管积木上的显示点的参数改为1就可以了。 我们已经初步掌握了数码管的使用方法,那么怎么可以让数码管能够即时显示当前时间,成为名副其实的电子时钟呢? 5.电子时钟 在使用数码管前一定要养成先关闭数码管再开启使用的好习惯。 然后,新建两个变量命名为时和分来储存小时和分钟。并且把“时间”模块里的“获取当前时”和“获取当前分”两块积木分别赋值给两个变量。 做好准备工作之后,我们就可以开启数码管了,把0号数码管的亮度设为1,其他的也数码管亮度也都是1了。 下面显示时间了。我们设定冒号左侧显示小时,右侧显示分钟,也就是0号和1号数码管显示的是小时,2号和3号数码管显示的是分钟。那我们应该怎样做呢? 我们以11:15为例,由于四位数码管是独立运行的,不能进行数位的换算,因此我们要依次设置四个数码管要显示的数字。 先来看小时的取法 11/10=1……1 获取整数部分放在0号位置 11/10=1……1 获取余数部分放在1号位置 再来看分钟的取法 15/10=1……5 获取整数部分,放在2号位置 15/10=1……5 获取余数部分,放在3号位置 程序如下图 由于1号点要在显示和不显示之间,也就是0与1之间来回循环,我们可以新建一个变量STEP,并在程序开始运行时赋值为0,然后赋值为1.我们可以用STEP+1来赋值,并且设定,当STEP的值大于2时,就把该变量重新赋值为0。那么这里我们就需要让1号数码管显示的点为变量step。加上重复执行。 生活中,通过观测,电子时钟显示时间时中间闪烁的冒号是以0.5秒的速度不停闪烁,那么我们在程序的尾端也添加上等待0.5秒的时间,让数码管电子时钟更接近生活。 视频展示 完整的脚本如下图: |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed