用纯逻辑器件给自己做个玩具

2016-07-022.5万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用纯逻辑器件制作一个电子拔河游戏机。项目的核心是使用CC40193双向同步计数器和CC4514 4-16译码器来控制9个LED灯的来回移动。此外,还使用了CC4518计数器和CC4511数码管专用译码器来显示比分。整个项目无需编程,只需连接逻辑门、编码器和译码器等器件。这个项目适合零基础的新手体验数字电路的魅力,并且可以作为电子爱好者的DIY项目。
电子技术的发展真是迅速~我们要是想做点小玩具,小小一片Arduino,或者8051等等,就可以满足大多数的控制需求

想到自己年少时做的一个小玩意,那时我的老师带我去一位电子工程师老爷爷家。在听了我的主意后,老爷爷用了几个与非门芯片就帮我实现了我心中想的“控制逻辑”。
那时我就在想,逻辑门真的是全世界最好玩的东西,掌握了它就可以控制一切啊~

用纯逻辑器件给自己做个玩具图1

可以看看版主大大Phoebe介绍的Rockets大神的作品:https://mc.dfrobot.com.cn/thread-13378-1-1.html

长大后,自从第一次接触了嵌入式微控制器(其实就是单片机~我更喜欢前面那个名字),就再也离不开这些魔性的芯片。长得像毛毛虫似的,却有一颗指挥家的心。软件控制硬件也越来越成趋势,超大规模集成电路已经普及。如今就算是控制一个摩托车点火器,用数字器件开发的产品也已经不多了。



学校的一个活动给LZ提供了一个偶然的机会,暂时抛开MCU,用各种逻辑门、编码器、译码器这些器件做一个完整的作品。
逻辑器件不用编程,不用在电脑上噼里啪啦地写代码然后再下进去~但是要是想稍微改变一下功能,可能就意味着要重新更换芯片,然后改变一大把连线。
完成作品后,LZ感触很深,来与大家分享~

先说目标:做一个“电子拔河游戏机”,提供两个按钮和一排9个LED灯。复位后正中间的LED点亮。两个人拼命咔吧咔吧地按两个按键,谁按得快,指示灯就移向哪一端。

(要是用单片机肯定快吧,电路搭好,写个程序刷进去,就可以23333了:lol)

先来视频。
做得很丑,尽情吐槽哈哈
个人对这一控制逻辑有一点点理解,说明得估计不够准确,请大神们给予批评

  • 我们希望让一排LED来回移动,所以需要一个双向、可加减的二进制计数器,用两个按键控制计数的加和减。
  • 计数器是按照二进制输出数字的,从高位到低位共4根数据线,可以表示从0到15,一共16个数。
  • 然后用一个4线-16线译码器,当计数器给出不同数字的时候,译码器就会选通对应的LED灯。
这样就实现了最基本的“拔河”逻辑。

需要改进完善的地方还有:
  • 用RS触发器实现按键消抖。
  • 为了处理两个按键同时被按下的情况,按键的信号需要整形,变成很窄的线脉冲。这利用了逻辑门的延时作用~
  • 移动到最后一个灯时,让计数器“锁住”,防止计数超出9个LED的显示范围。
  • 增加两个数码管,显示比分。
  • 一局游戏结束后,让电路能够复位。


由于LZ的疏忽,弄丢了设计资料....只能给大家看这张参考电路图了
用纯逻辑器件给自己做个玩具图2
主要用了下面这些宝贝,都是CMOS系列的数字逻辑器件:
  • CC40193:项目的核心,双向同步计数器
  • CC4514:4-16译码器。简单地说,就是输入4位二进制数,可选通这个数表示的16个引脚中的一个。
  • CC4518:内部有两个0~9的计数器,用于统计比分
  • CC4511:数码管专用译码器,可将二进制数译码,变成数码管上显示的数字。
  • CC4011 4081 4030:各种逻辑门。用来搭建RS触发器,波形整形,复位,和计数器“锁定”等逻辑控制。

用纯逻辑器件给自己做个玩具图3
一片破面包板~LZ调高了亮度显得划痕比较少2333:lol

用纯逻辑器件给自己做个玩具图4
数码管和最经典的显示译码器(4511)

用纯逻辑器件给自己做个玩具图5
LED,计数器和译码器

用纯逻辑器件给自己做个玩具图6
上电初试,连线的混乱程度即将失去控制



接好剩下的逻辑门等电路,这时已经可以拔河了

用纯逻辑器件给自己做个玩具图7用纯逻辑器件给自己做个玩具图8
为了满足RS触发器“单刀双掷”按键的要求,也为了让按键声音更带感,用了俩电磁继电器~~~咔吧咔吧的声音听着很爽,像机械键盘似的

用纯逻辑器件给自己做个玩具图9

一局结束后,数码管会根据LED的点亮情况自动计分。


用纯逻辑器件给自己做个玩具图10
最终测试作品,电子拔河机就完成啦~~





记得以前在杂志上看到过,最早的电子爱好者,他们的宝贝是电烙铁和收音机
后来,电子爱好者们又有黑白电视机和音响系统可以玩了
后来单片机出现了,尤其是电脑普及后,爱好者定制属于自己的小玩意,也越来越便利了。

而如今新技术爆发,可以玩的项目越来越广泛。回顾一下过去,看一看历史与底层的事物,内心便有无限感慨。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(13)
王子麒
王子麒
不错不错,可以学习
swanglei
swanglei
我怎么就看到拼命地按。。。。
likun123
likun123
不错,如此复杂的线路,还是很佩服lz的。不过不要什么问题都归到电源纹波上,首先arduino上带的ldo不会有那么大的纹波,其次这个电路噪声容限不会到电源纹波的水平。我看这个电路的芯片全都没做退耦,其次lz还加了两个超大的干扰源(继电器)而且什么措施都没加,最起码得续个流吧。所以电路不稳定很正常的,而且消抖的话,并个电容就行了
virtualwiz
virtualwiz
作者
回复likun123
谢谢大神,看来楼上经验超级丰富啊~~:lol
我也是头一次搭这种电路,总觉得里面有好多不稳定的因素,比如连线太多,有的线有可能会接触不良,难以查找。还有当连线过长的时候,不知是否会引入外界噪声。制作的时候试过并联电容消抖动,但好像效果不太理想,一次按键可能会被当作多次。逻辑元件需要退耦,这个长见识了,谢谢指导:lol
iooops
iooops
来围观一个
Ace
Ace
好厉害
seesea
seesea
太强大了,以前学的时候也觉得逻辑器件真是万能了,而且会设计逻辑门的人很厉害。
话说V神这背景音乐很魔性啊
seesea
seesea回复virtualwiz
嗯,动物世界,小时候经常看。话说这就暴露年纪了……
virtualwiz
virtualwiz
作者
回复seesea
哈哈,多谢
背景音乐是从动物世界抠下来的23333
微笑的rockets
微笑的rockets
数字逻辑要学好啊。
可以减少很多编程量的。
状态机复习一下,真值表卡诺图简化做一下
得出的相关数字逻辑再去编程就会简单好多,特别是应用题。
virtualwiz
virtualwiz
作者
回复微笑的rockets
发现了~计算机系统也是数字器件做的,会玩数字逻辑编程也会事半功倍
源代码
源代码
好屌真屌屌爆了~
源代码
源代码回复virtualwiz
很有创意,很适合两个人玩
virtualwiz
virtualwiz
作者
回复源代码
代码大神过奖啦~
dsweiliang
dsweiliang
v神牛逼~
hnyzcj
hnyzcj
楼主这东西让我想起了BOSSON KIT
hnyzcj
hnyzcj回复virtualwiz
也让我回想起我大学的数字逻辑课程
virtualwiz
virtualwiz
作者
回复hnyzcj
接芯片和敲代码真是完全不一样的感觉:lol
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
hnyzcj
hnyzcj
楼主牛逼,我佩服!
凌风清羽
凌风清羽
学习学习~~~~~~
你姐姐喜欢蓝气球
你姐姐喜欢蓝气球
v神威武~
virtualwiz
virtualwiz
作者
回复你姐姐喜欢蓝气球
谢谢花神~
- 没有更多了 -