mBlock & Arduino(17)四位数七段显示器

小小云提示:教程作者caterpillar是来自台湾的programmer(kinda),所以在一些专有名词的使用上会和我们这边使用的不太一样啦,不过作者也有标注出英文名称,大家自行转换哟(⁎⁍̴̛ᴗ⁍̴̛⁎)


在〈mBlock & Arduino(7)七段显示器之 HELLO!〉中谈过七段显示器的原理与运用,如果你需要多个位数,基本上可以自行连接多个七段显示器,只是七段显示器需要的脚位很多啊?Arduino 脚位不够用怎么办?

两位数七段显示器

如果想要自行接线,设计出两位数七段显示器,若使用共阴极七段显示器,可以如下设置电路:

mBlock & Arduino(17)四位数七段显示器_第1张图片

这样的电路,可以使用 10 个脚位,来控制两个七段显示器,其中 D3 到 D10,可分别控制七段显示器上的 LED,而 D13 与 D12,可控制左边与右边的七段显示器哪个要显示,如果 D13 为高电位而 D12 为低电位,那么右边的七段显示器会依 D3 到 D10 哪些脚位为高电位而显示,如果 D13 为低电位而 D12 为高电位,那么左边的七段显示器会依 D3 到 D10 哪些脚位为高电位而显示。

这样不是一次只能显示一个七段显示器吗?没错!不过,只要 D13 与 D12 切换速度够快,那么就会像是同时点亮两个七段显示器!类似地,你可以衔接三位数、四位数等七段显示器!

四位数七段显示器

如果不想要自行接线路,那么市面上有已经衔接好的二合一、四合一等各种位数的七段显示器,以四合一的七段显示器为例,由于每个七段显示器会需要 8 个脚位控制其上的 LED,再加上各 4 个共阴或共阳脚位,因此基本上会有 12 个脚位,当然,如果还要附带有“:”控制等脚位的话,就会有 12 个脚位以上。

我手边这个四位数七段显示器,就是基本的 12 脚位:

mBlock & Arduino(17)四位数七段显示器_第2张图片

依上图来看的话,下方有六个脚位,上方有六个脚位,最左下方的脚位编号是 1,依逆时针依序编号至 6,然后右上方是 7,依逆时针编号至左上方的 12:

mBlock & Arduino(17)四位数七段显示器_第3张图片

当然,最重要的,是知道这些脚位,分别是控制哪个 LED,以及哪些脚位控制哪个七段显示器,这在上图是使用 0 到 3 以及 A 到 H(DP) 表示,0 表示最右边的七段显示器, 3 表示最左边的七段显示器,例如,当 3 为低电位而 0、1、2 为高电位时,那么是控制最左边的七段显示器,至于 A 到 H(DP),如下图表示:

mBlock & Arduino(17)四位数七段显示器_第4张图片

因此,如果想要运用这个四位数七段显示器,可以如下衔接电路:

mBlock & Arduino(17)四位数七段显示器_第5张图片

使用 mBlock 控制七段显示器

衔接好电路之后,那么就可以写程式来控制了,基本上就是用回圈来逐个控制与显示,我们稍微改写一下〈mBlock & Arduino(7)七段显示器之 HELLO!〉中的范例,以达到控制之目的:

mBlock & Arduino(17)四位数七段显示器_第6张图片

其中numbers的内容一样是:

mBlock & Arduino(17)四位数七段显示器_第7张图片

执行程式之后的效果是 …


四位数七段显示器之一_腾讯视频

嗯?由于透过 mBlock 控制 Arduino 会有速度上的限制,因此,你看到的是四个数字轮流闪动,而不是看起来一起亮,不过,这当作了解四位数七段显示器运作原理,倒是不错的方式,如果想要看起来有同时显示的效果,那么可以在 Arduino IDE 中撰写如下的程式,其运作原理与上面的程式是类似的:

mBlock & Arduino(17)四位数七段显示器_第8张图片


mBlock & Arduino(17)四位数七段显示器_第9张图片

在set7Seg中需要一点delay,这样切换速度才不会太快,LED 看起来才会够亮,将程式上传至 Arduino 板子,效果会是这样的 …


四位数七段显示器之二_腾讯视频


感谢CodeData用户:caterpillar的贡献 著作权归作者所有

整理:宁波家电物联网云平台,中科极动云

你可能感兴趣的:(mBlock & Arduino(17)四位数七段显示器)