做一个二路抢答器

2016-05-14 16:51谢作如赵叶滢
中国信息技术教育 2016年7期
关键词:小灯电路逻辑

谢作如 赵叶滢

市场上的抢答器大多是由单片机以及外围电路组成,需要进行编程才能实现对“抢答”的判断(如图1)。如果使用555之类的集成块来实现,涉及的电路将非常复杂,而使用Boson Kit中的逻辑模块,不用编程就能做出一个两人用的抢答器,而且逻辑清晰。

逻辑分析

为了便于区分二路的输入,我们用蓝色和红色来表示。首先看一个逻辑示意图(如图2),该图所示的是抢答器的运行原理。说起来并不复杂,只要有按钮按下时,对应的小灯亮起,同时要阻止另外的小灯变亮,哪怕其对应的按钮按下也无法变亮,就能区分出谁先按下按钮了。

Boson Kit的核心板实际上就是一个电源板,只要输入为真(按钮按下),对应的输出也是真(小灯亮起)。如何让小灯亮起的同时,阻止另一盏小灯亮起呢?其实只要认真归纳,我们会发现小灯亮起需要同时满足两个条件:对应的按钮按下,且另一个按钮没有按下。Boson Kit中不是用“与(and)”和“非(not)”这两个逻辑模块吗?用这两个模块将按钮的状态输送到另一个按钮即可。如下页图3所示,如果红色按钮按下,蓝色按钮即使按下,也无法输出“真”的状态了。

模块搭建

弄清楚原理后,我们可以试着搭建了。既然是“抢答”,我们选择了按钮作为输入模块。为了方便辨认,LED小灯最好选择和按钮相同的颜色。我们需要的元件见下页表。

我们把这些元件,按照下页图4的参考电路进行连接。

图4的线路图看起来十分复杂,我们可以将它分为上下对称的两部分,分别为蓝色按钮电路和红色按钮电路。先以蓝灯点亮的情况为例,当按下蓝色按钮时,蓝色按钮发出的信号A通过线路1(图4中蓝色箭头)到达AND模块,并输入值为“真”(1)的信号。若此时红色按钮没有按下,则红色按钮发出的值为“假”(0)的信号B沿线路2(图4中红色箭头)到达分离模块后,再通过线路2-1(图4中绿色箭头)经过NOT模块将信号B的值从“真”转变为“假”,输入到蓝色按钮连接的AND模块中。此时,AND模块上收到两个值为“真”的信号,即两个条件——“蓝色按钮按下”和“红色按钮没有按下”都已成立,电源板接收到此信号后,输出状态1,将蓝灯点亮。

如果在按下蓝色按钮时,红色按钮也已按下,那么红色按钮输出的值为“真”的信号B经过NOT模块转变为“假”,蓝色按钮对应的AND模块上会接收到值为“真”的信号A和值为“假”的信号B,即“蓝色按钮按下”和“红色按钮没有按下”这两个条件没有同时成立,那么蓝灯不会亮起。

反之亦然。蓝色和红色按钮总是在点亮自己对应的小灯同时,阻止对方的小灯点亮,这样我们就完成了这个有趣的二路抢答器。

拓展研究

图4的连接方式,是将所有逻辑模块调置于主板输入端,使电路看起来较为清爽,同时也有利于后期做外部包装时的布线安排。倘若追求电路的趣味性和逻辑性,也可将分离模块调整至主板输出端,使NOT模块可以跨越输入输出两端,形成一个大循环(如图5)。

考虑到现实中使用的抢答器除了亮灯以外,还需要用声音进行提示,可在输出端加装蜂鸣器(如图6),使用分离模块可以使小灯与蜂鸣器同时启动。

如果不想使用两个蜂鸣器分别代表两位选手,只想达到有人抢答成功就发出蜂鸣声这一效果,可以使用or模块来实现,连接方式如图7所示。

除了以上的拓展外,还可以加延时模块,实现按钮的“消抖”。因为按钮按下的时候,可能会出现瞬间的抖动(接触不紧密),导致不能很好地阻止另一盏小灯亮起。这时Boson Kit套件中的延时模块就派上用场了。

外观美化

连接好电路,抢答器的基本功能就实现了。再分别将按钮和小灯安装在一个纸盒上,做出抢答器的外观。如果觉得按钮的帽盖面积过小,可以使用瓶盖或PVC片进行加大,使它看上去更像一个抢答器。我们制作的抢答器比较简陋,外观如图8所示。

做好这个二路抢答器后,相信大家都体会到Boson Kit套件的魅力了——不用编程,就能搭建出具备一定“智能”的电子作品。还是回到上一个栏目中提到的一句话:如果充分利用“与”“或”“非”这三个逻辑模块,理论上可以做出非常复杂的作品。以抢答器为例,如果模块足够多,四路、八路的抢答器也都能搭出来。赶紧整理下自己的创意,用Boson Kit实现出来吧。

如果对相关内容感兴趣,请关注主持人博客。

猜你喜欢
小灯电路逻辑
小灯与外婆
电路的保护
基于用户和电路的攻击识别方法
逻辑
窗口
“简化法”巧解电路问题
我们还能有逻辑地聊天吗
我的小灯
女生买买买时的神逻辑
女人买买买的神逻辑