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

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