小小云提示:教程作者caterpillar是来自台湾的programmer(kinda),所以在一些专有名词的使用上会和我们这边使用的不太一样啦,不过作者也有标注出英文名称,大家自行转换哟(⁎⁍̴̛ᴗ⁍̴̛⁎)
在〈mBlock & Arduino(7)七段显示器之 HELLO!〉中谈过七段显示器的原理与运用,如果你需要多个位数,基本上可以自行连接多个七段显示器,只是七段显示器需要的脚位很多啊?Arduino 脚位不够用怎么办?
两位数七段显示器
如果想要自行接线,设计出两位数七段显示器,若使用共阴极七段显示器,可以如下设置电路:
这样的电路,可以使用 10 个脚位,来控制两个七段显示器,其中 D3 到 D10,可分别控制七段显示器上的 LED,而 D13 与 D12,可控制左边与右边的七段显示器哪个要显示,如果 D13 为高电位而 D12 为低电位,那么右边的七段显示器会依 D3 到 D10 哪些脚位为高电位而显示,如果 D13 为低电位而 D12 为高电位,那么左边的七段显示器会依 D3 到 D10 哪些脚位为高电位而显示。
这样不是一次只能显示一个七段显示器吗?没错!不过,只要 D13 与 D12 切换速度够快,那么就会像是同时点亮两个七段显示器!类似地,你可以衔接三位数、四位数等七段显示器!
四位数七段显示器
如果不想要自行接线路,那么市面上有已经衔接好的二合一、四合一等各种位数的七段显示器,以四合一的七段显示器为例,由于每个七段显示器会需要 8 个脚位控制其上的 LED,再加上各 4 个共阴或共阳脚位,因此基本上会有 12 个脚位,当然,如果还要附带有“:”控制等脚位的话,就会有 12 个脚位以上。
我手边这个四位数七段显示器,就是基本的 12 脚位:
依上图来看的话,下方有六个脚位,上方有六个脚位,最左下方的脚位编号是 1,依逆时针依序编号至 6,然后右上方是 7,依逆时针编号至左上方的 12:
当然,最重要的,是知道这些脚位,分别是控制哪个 LED,以及哪些脚位控制哪个七段显示器,这在上图是使用 0 到 3 以及 A 到 H(DP) 表示,0 表示最右边的七段显示器, 3 表示最左边的七段显示器,例如,当 3 为低电位而 0、1、2 为高电位时,那么是控制最左边的七段显示器,至于 A 到 H(DP),如下图表示:
因此,如果想要运用这个四位数七段显示器,可以如下衔接电路:
使用 mBlock 控制七段显示器
衔接好电路之后,那么就可以写程式来控制了,基本上就是用回圈来逐个控制与显示,我们稍微改写一下〈mBlock & Arduino(7)七段显示器之 HELLO!〉中的范例,以达到控制之目的:
其中numbers的内容一样是:
执行程式之后的效果是 …
嗯?由于透过 mBlock 控制 Arduino 会有速度上的限制,因此,你看到的是四个数字轮流闪动,而不是看起来一起亮,不过,这当作了解四位数七段显示器运作原理,倒是不错的方式,如果想要看起来有同时显示的效果,那么可以在 Arduino IDE 中撰写如下的程式,其运作原理与上面的程式是类似的:
在set7Seg中需要一点delay,这样切换速度才不会太快,LED 看起来才会够亮,将程式上传至 Arduino 板子,效果会是这样的 …
四位数七段显示器之二_腾讯视频
感谢CodeData用户:caterpillar的贡献 著作权归作者所有
整理:宁波家电物联网云平台,中科极动云