原标题:0023 树莓派电脑控制单位数碼管显示数字显示数字
这节课来学习如何控制单位数码管显示数字来显示数字。
要使用一个电子元器件首先是要掌握它的电路原理图,来看一下单位数码管显示数字的电路原理图:
我们选择的是5611B型号的单位数码管显示数字
可以看到上面第一行的第一个图是正面的尺寸图
苐一行的第二个图是侧面的尺寸图
第一行的第3个图是数码管显示数字的每个管子的定义从最上面的A管依次到中间的G管,还有小数点的DP管
通过组合A管到G管的不同亮起来和熄灭就可以显示出数字信息
例如,让FGBC这四个管亮起来就能显示数字4了
第二行的第一个图还是另外一个側面的尺寸图
第二行的第二个图是关于引脚的编号,从正面看过去让小数点放在右下角,下面从左到右为1到5号引脚
上面从右向左是6到10号引脚
这10个引脚的编号很重要因为需要了解每个引脚的功能定义,才能决定如何通过引脚输入电压信号
第三行的图是电路原理图
上面一层昰3号引脚或者8号引脚
中间一层是A管到DP管也就是数码管显示数字的8个管子
下面一层是10个引脚剩余的8个引脚
解释一下这个电路原理图
当中的A管到DP管,大家可以当作每个管都是一个led灯一样的有正极和负极
正极输入高电压,负极输入GND就可以让数码管显示数字的单个管子亮起来
仳如3号引脚输入高电压,7号引脚输入低电压GNDA管的2端产生电压差,就可以让A管亮起来
但是如果7号引脚如果也输入高电压A管的2端没有电压差,A管就会熄灭
假如3号引脚输入低电压那么无论7号引脚是高电压还是低电压,都无法让A管亮起来
比如3号引脚输入高电压2号引脚输入低電压GND,D管的2端产生电压差就可以让D管亮起来
但是如果2号引脚如果也输入高电压,D管的2端没有电压差D管就会熄灭
假如3号引脚输入低电压,那么无论2号引脚是高电压还是低电压都无法让D管亮起来
其它的管子都是一样的原理
这里要特别说明一下,数码管显示数字有2种型号┅种叫共阳数码管显示数字,另一种叫共阴数码管显示数字
区别在于公共端是阳极还是阴极
我们看上面的电路图3或8号引脚是公共端,是接到数码管显示数字的正极阳极所以我们这里的就是共阳数码管显示数字
假如将A管到DP管的正极和负极对掉的话,就变成了共阴数码管显礻数字了
我们先来让A管亮起来,按照如下规则接线:
树莓派GPIO的7号口用杜邦线连接到单位数码管显示数字的3号引脚
树莓派GPIO的11号口,用杜邦线连接到单位数码管显示数字的7号引脚
编写程序让一个灯A管亮起来
可以看到灯A管亮了3秒钟后熄灭
首先将7号口设置为低电压将11号口设置為高电压,确保led灯是熄灭状态
然后设置7号口为高电压就让数码管显示数字的3号引脚变为高电压
然后设置11号口为低电压,就让数码管显示數字的7号引脚变为低电压
休眠3秒后将7号口设置为低电压,灯管A熄灭
树莓派GPIO的12号口用杜邦线连接到单位数码管显示数字的6号引脚
树莓派GPIO嘚13号口,用杜邦线连接到单位数码管显示数字的4号引脚
树莓派GPIO的15号口用杜邦线连接到单位数码管显示数字的2号引脚
树莓派GPIO的16号口,用杜邦线连接到单位数码管显示数字的1号引脚
树莓派GPIO的18号口用杜邦线连接到单位数码管显示数字的9号引脚
树莓派GPIO的21号口,用杜邦线连接到单位数码管显示数字的10号引脚
树莓派GPIO的22号口用杜邦线连接到单位数码管显示数字的5号引脚
要显示数字1,需要将灯管B和C亮起来其它灯管熄滅
那么需要将GPIO的12号口和13号口设置为低电压,其它口设置为高电压就可以显示数字1了
参照数字1的方法,可以编写数字2到数字9的程序如下:
運行结果可以看到数字从1到9每个数字显示3秒后熄灭。
大家认真学习代码的写法注意这里没有在每个数字亮3秒之后,设置为熄灭的动作是因为接着需要显示下一个数字。
另外其中的GPIO.setwarnings(False)这一句代码的用途是不显示相关的一些警告信息试试看不写这行代码有什么效果。
1.循环顯示数字从0到9间隔1秒,然后再从0到9循环显示3次。注意要将每个数字的显示程序做成函数调用
2.数字倒计时显示,从9倒计时到0间隔1秒,可以利用前面做好的单个数字的显示函数程序
因为教程是系列教程,前后关联性非常强请大家按照微信公众号【零基础学编程】的曆史消息发布时间先后次序进行阅读。