星界边境 电路密码锁图文详解 怎么做密码锁
- 来源:3DM论坛-Sherisky
- 作者:fcz1234
- 编辑:ChunTian
第二部分是计数(也就是电路判断为三次输错的核心内容),第三部分是对信息的处理。
有关第二部分,我们需要六个锁存器:
由于重点在于计数,故输入端能达到说明效果便好。
用钢制平台将图中电路分隔为三部分,最上面的为计数部分,中间的+⑦为信号转化与处理部分,最下面是简单的输入端。
有了前面那个判断按钮是否重复按动的例子,这个解释起来也就容易了,我讲过电路运行过程后大家也就明白了:
当第一次错误发生时,?(或门)输出高电平到①,这时①记录这个信号,并持续输出高电平到②输入端的下端(因输入端上端为低电平故②输出状态无改变),向①输出高电平的同时,?还向?输入端的上端输入高电平,此时系统开始恢复初始状态:?→?→?→?。
按照之前所说的,我们要已经将开始记录在①中,下面我们要记录这次错误的结束到②中,我们选?,因为它在恢复过程中是由低到高的过程,时间轴上先于①变暗晚于①变亮(姑且先这么描述),所以是最适合记录结束信号的。我们将?的输出端与②输入端的上端相连,效果为当循环结束时,记录一个信号。
下面便是第二次错误信号,我们有了②所记录的第二次结束信号,那么再找一个在第二次错误中最先输出高电平的元件,接入③输入端的上端,将②与③输入端的下端相连,这样我们就得到了一个第二次错误的记录。
然后以③为基石得到信号④再由信号④得到信号⑤,以和③同样的方式得到信号⑥,也就是第三次错误的记录。
可能有人要问,为何不将③的上端与?的输出端相连。笔者在这里提一句,在构设电路的过程就和走狭窄的盘山道一样,尽量靠里走,直截了当地达到目标,减少变量。将③与?相连属于完善电路部分,应放在搭建并调试无误之后,查看此时改动前和改动后有无差异,无差异或可通过小改动抹去差异时再改,切记什么时候应该做什么,减少所求目标中间的变量,以达成目标优先(电路往往一个右键下去,一堆线要重连)。
至此,我们的电路便能够识别三次以内的错误次数。
然后就是第三部分,信号处理和转换(图中中间部分+⑦),我们分别将保存错误次数信号的①③⑥输出端与⑦⑧⑨三个非门输入端相连,再将三个非门的输入端都与非门⑩相连,这样当①③⑥输出端均为高电平时(已错三次),非门⑩输出高电平信号。这时将非门⑩与锁存器?相连(这里无用,是SH当时构设时一步一站所留下的坑,构建时可直接将非门⑩与?相连),后将非门?的输出端与门的输入端相连,通过前面的电路,我们了解到,输入部分初始都向?输出高电平,每输对一个信号则将对应的降到低电平,故只要?的输入端有高电平输入,门便不能打开。这里便达到了三次失败后锁死的目的。
就此,我们完成了三个部分的设计,而后便是搭建过程(如何相结合),SH将其分为八个步骤:
这里有一点要注意,图中用黄色标出的线不要连,之后图中所给的这两个点之间的线也不要连,至于原因,现在不好说,后面会提。这里只是按照一个套路来构建。至于其他的,相信看过之前的内容,这一步没什么好说的。
相对于上一张图,这张图每个数字部分加入了之前1/9^6部分所提到的三个元件,以及其所涉及到的连线。从对键盘区的连线不难看出密码为728516,图中白线为所添连线的一部分,其他部分按照这个套路。
如图,我们将计数器部分加载了右上角,首先是①输入端的上下两端与⑦相连,输出端与②输入端的下端相连;然后是②输入端的上端与图中和⑨相同位置元件的输出端相连(左边三个,右边三个),输出端与③输入端的下端相连;③输入端的上端与图中和⑧相同位置元件的输出端相连(左三右三),输出端与④输入端的下端相连;④输入端的上端与⑦的输出端相连,输出端与⑤输入端的下端相连;⑤输入端的上端所连位置与②相同,输出端连⑥输入端的下端;⑥输入端的上端所连位置与③相同。
新增连线如图所示,增加了两块区域,下面的负责转化信号,至于上面的那个其实直接将①(非门)的输出端与②相连就好。
重复一下,本次密码为:728516。
①的两个输入端分别连接键盘区中除其在密码中对应数字以外的数字(图中对应的是7)。②~⑥输入端的下端连接键盘区中除其在密码中所对应数字以外的数字(图中分别对应28516);⑦~?上下两端分别连接其所在区域对应的数字。
将A的输出端与每组与BC所处相同位置的锁存器(包括BC)输入端的上端相连。(上图没有,在下图)
OK,在这里SH准备测试一下之前所连的电路有没有错误,于是出去点了下8,发现计数器的灯全亮了(显示已三次输入错误)。
下面我们来分析下问题所在,首先,由于密码的第一位为7,且其他数字区域内的电路均无变化,故判断计数器无法区分错误次数。首先在第一次错误后,没有在计数器Ⅱ 处停住(错误在ⅡⅢ处),重新运行错误项时观察发现当Ⅰ 输出状态转为高电平时Ⅱ立即亮起,进而问题出在Ⅱ输入端上端处,进而发现因与六个部分都相连,而错误循环只发生在7一处,故当7所在部分的13变暗时,其他部分的相同部位同样会给Ⅱ输入高电平。初始化分两个阶段:①电钮按下后电路走到A处,A输出高电平给B输入端的上端。②当电钮弹起后B会变为低电平,进而将所在数字部分的电路初始化。
而现在出现的问题是,由于其他和?相同位置的非门向Ⅱ输出强电流故,原本在初始化第二阶段亮起的Ⅱ在,第一阶段便亮了,向Ⅲ输入端的下端输入高电平,而第一阶段按钮未弹起故①也向Ⅲ输入高电平,结果Ⅲ也亮了(为方便表述,输出状态改为高电平=亮了),而Ⅳ下输入端有了Ⅲ的高电平,A也没来得及变暗,故Ⅳ也亮了。Ⅳ向Ⅴ下输入端输入高电平,除?以外其他相同位置的非门给Ⅴ输入高电平,于是Ⅴ也亮了。由于这个过程不到一秒,Ⅵ同样亮了。
进而解决办法:一错全错。
如图所示,可以从黄框部分清楚的看到和先前图的区别。当然,能看到的只是一侧,实际上从①到⑥每个锁存器的输出端都分别与图中与A非门相同位置非门的输入端相连(左边三个,右边三个)。这样当一个数字所在部分出现错误后,六个数字所在区域自各自与A相同位置的非门同步初始化。
结果,下面运行下电路,当输入7时无错,但当之后输入2时计数器显示错误一次。
那么这次错误便在输入了正确数字却启动了计数器。而计数器要想启动,肯定有接收错误信号的锁存器被触发了。并且是一个锁存器触发了未接收到正确信号的电路。
很显然,是由于我们之前对电路“一错全错”的改动所致。那么怎么办呢?
由于在数字7的部分,当接收到2时接收错误信号的锁存器会启动,但当接收正确信号的锁存器输出高电平时,会将这个错误信号屏蔽掉,以防止系统初始化并计数。
那么我么只要在输入数字七之后将其所在部分负责接收错误信号的锁存器“锁住”便可。
这也是为什么先前说有条线不能连的原因,见下图:
如图连接六个数字部分(五个就够,最后一位数不需要这个)。
效果是当我们输入正确数字时,正确数字所对应部分负责接收错误信号的锁码器会被锁住,保持低电平输出。
这次当SH再测试时电路通过,对密码中每一位数字的各种错的可能进行尝试(7错12345689,2错13456789.........)均无问题,计数器可正常工作。
下面就是一些附加功能了:
上图左边的黄框内饰警报器,接三根线,分别是短暂警报,三次输错后长鸣,在输入正确密码前私接终端开门(这个高电平输出信号可以被用于连接陷阱,三次输错所产生的高电平信号同理=-=),上面的那个黄框里的就是处理私接终端情况的,而右边黄框里的压板输出信号连接全锁存器上端接入口,放在门后就是进门后电路初始化的功能,同时连接门的输出端,这样门内的人在出去的时候就不用输入密码了,同时门内的人可以接门外的人进来(注:压板输出端在接门输入端的同时,要如图接上面黄框里的输入端,不然站在压板上开门可就鸣响警报或启动陷阱了)。
而计数器那里的三个非门,分别连接门口竖直放立的三个小灯泡,则起到了显示剩余输入机会的功能。
好了这次的星界边境手札内容就是这些,前面的东西吸收了,密码门这块问题便不大了,并且一个密码门中透出的思路,解决问题的方式同样使份收获。SH也会在以后的手札中更多得加入思路部分,以例子的方式教会大家有关电路的知识。
当你认真看完这份手札并有所收获时,SH同样也要感谢你的支持。同时SH也未食言,设计电路,真的不需要有多少专业知识,只要知道元件的作用,加上一定的逻辑,些许的耐心,多些的热情,在星界中不断构设属于自己的作品将不再遥远。
点击进入3DMGAME《星界边境》游戏论坛专区
玩家点评 (0人参与,0条评论)
热门评论
全部评论