用纯逻辑器件给自己做个玩具
电子技术的发展真是迅速~我们要是想做点小玩具,小小一片Arduino,或者8051等等,就可以满足大多数的控制需求{:5_172:}想到自己年少时做的一个小玩意,那时我的老师带我去一位电子工程师老爷爷家。在听了我的主意后,老爷爷用了几个与非门芯片就帮我实现了我心中想的“控制逻辑”。
那时我就在想,逻辑门真的是全世界最好玩的东西,掌握了它就可以控制一切啊~{:5_168:}
可以看看版主大大Phoebe介绍的Rockets大神的作品:https://mc.dfrobot.com.cn/thread-13378-1-1.html
长大后,自从第一次接触了嵌入式微控制器(其实就是单片机~我更喜欢前面那个名字),就再也离不开这些魔性的芯片。长得像毛毛虫似的,却有一颗指挥家的心。软件控制硬件也越来越成趋势,超大规模集成电路已经普及。如今就算是控制一个摩托车点火器,用数字器件开发的产品也已经不多了。
static/image/hrline/4.gif
学校的一个活动给LZ提供了一个偶然的机会,暂时抛开MCU,用各种逻辑门、编码器、译码器这些器件做一个完整的作品。
逻辑器件不用编程,不用在电脑上噼里啪啦地写代码然后再下进去~但是要是想稍微改变一下功能,可能就意味着要重新更换芯片,然后改变一大把连线。
完成作品后,LZ感触很深,来与大家分享~
先说目标:做一个“电子拔河游戏机”,提供两个按钮和一排9个LED灯。复位后正中间的LED点亮。两个人拼命咔吧咔吧地按两个按键,谁按得快,指示灯就移向哪一端。
(要是用单片机肯定快吧,电路搭好,写个程序刷进去,就可以23333了:lol)
先来视频。做得很丑,尽情吐槽哈哈http://player.youku.com/player.php/sid/XMTYyNzk2Nzc2NA==/v.swf
个人对这一控制逻辑有一点点理解,说明得估计不够准确,请大神们给予批评{:5_178:}
[*]我们希望让一排LED来回移动,所以需要一个双向、可加减的二进制计数器,用两个按键控制计数的加和减。
[*]计数器是按照二进制输出数字的,从高位到低位共4根数据线,可以表示从0到15,一共16个数。
[*]然后用一个4线-16线译码器,当计数器给出不同数字的时候,译码器就会选通对应的LED灯。
这样就实现了最基本的“拔河”逻辑。
需要改进完善的地方还有:
[*]用RS触发器实现按键消抖。
[*]为了处理两个按键同时被按下的情况,按键的信号需要整形,变成很窄的线脉冲。这利用了逻辑门的延时作用~
[*]移动到最后一个灯时,让计数器“锁住”,防止计数超出9个LED的显示范围。
[*]增加两个数码管,显示比分。
[*]一局游戏结束后,让电路能够复位。
由于LZ的疏忽,弄丢了设计资料....只能给大家看这张参考电路图了https://mc.dfrobot.com.cn/static/image/smiley/default/shutup.gif
主要用了下面这些宝贝,都是CMOS系列的数字逻辑器件:
[*]CC40193:项目的核心,双向同步计数器
[*]CC4514:4-16译码器。简单地说,就是输入4位二进制数,可选通这个数表示的16个引脚中的一个。
[*]CC4518:内部有两个0~9的计数器,用于统计比分
[*]CC4511:数码管专用译码器,可将二进制数译码,变成数码管上显示的数字。
[*]CC4011 4081 4030:各种逻辑门。用来搭建RS触发器,波形整形,复位,和计数器“锁定”等逻辑控制。
一片破面包板~LZ调高了亮度显得划痕比较少2333:lol
数码管和最经典的显示译码器(4511)
LED,计数器和译码器
上电初试,连线的混乱程度即将失去控制{:5_161:}
接好剩下的逻辑门等电路,这时已经可以拔河了
为了满足RS触发器“单刀双掷”按键的要求,也为了让按键声音更带感,用了俩电磁继电器~~~咔吧咔吧的声音听着很爽,像机械键盘似的{:5_173:}
一局结束后,数码管会根据LED的点亮情况自动计分。
最终测试作品,电子拔河机就完成啦~~
static/image/hrline/5.gif
记得以前在杂志上看到过,最早的电子爱好者,他们的宝贝是电烙铁和收音机
后来,电子爱好者们又有黑白电视机和音响系统可以玩了
后来单片机出现了,尤其是电脑普及后,爱好者定制属于自己的小玩意,也越来越便利了。
而如今新技术爆发,可以玩的项目越来越广泛。回顾一下过去,看一看历史与底层的事物,内心便有无限感慨。
likun123 发表于 2016-8-29 11:48
不错,如此复杂的线路,还是很佩服lz的。不过不要什么问题都归到电源纹波上,首先arduino上带的ldo不会有那 ...
谢谢大神,看来楼上经验超级丰富啊~~:lol
我也是头一次搭这种电路,总觉得里面有好多不稳定的因素,比如连线太多,有的线有可能会接触不良,难以查找。还有当连线过长的时候,不知是否会引入外界噪声。制作的时候试过并联电容消抖动,但好像效果不太理想,一次按键可能会被当作多次。逻辑元件需要退耦,这个长见识了,谢谢指导:lol 不错,如此复杂的线路,还是很佩服lz的。不过不要什么问题都归到电源纹波上,首先arduino上带的ldo不会有那么大的纹波,其次这个电路噪声容限不会到电源纹波的水平。我看这个电路的芯片全都没做退耦,其次lz还加了两个超大的干扰源(继电器)而且什么措施都没加,最起码得续个流吧。所以电路不稳定很正常的,而且消抖的话,并个电容就行了 seesea 发表于 2016-7-3 23:53
太强大了,以前学的时候也觉得逻辑器件真是万能了,而且会设计逻辑门的人很厉害。
话说V神这背景音乐很魔性 ...
哈哈,多谢
背景音乐是从动物世界抠下来的23333 v神威武~ 学习学习~~~~~~ 楼主牛逼,我佩服! 楼主这东西让我想起了BOSSON KIT v神牛逼~ 好屌真屌屌爆了~ 若若er 发表于 2016-7-2 21:51
v神威武~
谢谢花神~ hnyzcj 发表于 2016-7-3 07:35
楼主这东西让我想起了BOSSON KIT
真相:老师布置的任务 源代码 发表于 2016-7-3 10:12
好屌真屌屌爆了~
{:5_117:}代码大神过奖啦~ virtualwiz 发表于 2016-7-3 11:07
代码大神过奖啦~
很有创意,很适合两个人玩{:5_129:} hnyzcj 发表于 2016-7-3 07:35
楼主这东西让我想起了BOSSON KIT
接芯片和敲代码真是完全不一样的感觉:lol virtualwiz 发表于 2016-7-3 19:32
接芯片和敲代码真是完全不一样的感觉
也让我回想起我大学的数字逻辑课程 数字逻辑要学好啊。
可以减少很多编程量的。
状态机复习一下,真值表卡诺图简化做一下
得出的相关数字逻辑再去编程就会简单好多,特别是应用题。 太强大了,以前学的时候也觉得逻辑器件真是万能了,而且会设计逻辑门的人很厉害。
话说V神这背景音乐很魔性啊 Rockets 发表于 2016-7-3 20:28
数字逻辑要学好啊。
可以减少很多编程量的。
状态机复习一下,真值表卡诺图简化做一下
发现了~计算机系统也是数字器件做的,会玩数字逻辑编程也会事半功倍 好厉害 virtualwiz 发表于 2016-7-4 00:08
哈哈,多谢
背景音乐是从动物世界抠下来的23333
嗯,动物世界,小时候经常看。话说这就暴露年纪了…… {:5_176:} 来围观一个
页:
[1]
2