欢迎来到SH的手札,除了有关机关的初步教程外┃,这是SH的第一篇手札|,故大体说下SH的些许安排。
手札会视SH的课余时间做不定期更新|,其内容都是SH利用星界中电路构建的功能设施|,这里面由于是SH视兴趣而做,好比一个胚子|。故仍有很多改进乃至测试的余地|,甚至在编辑的过程中SH也会提出一些有待完善的部分|,对此大家理解后便可就其深挖夯实了。期间对电路的理解与运用水准随之提升|。按星界的话说|,SH将大家送进了沙地行星,能挖多少便看大家的了|。
平日里的一些小东西|,SH会攒起来,在往后的手札中运用或以量堆积后发出来|,至于内容稍多的SH会单开帖进行讨论|。
另:手札中无专业知识,无需数电基础|,只就目标需求|,元件效用,逻辑|,三者进行构建|,以求更广的受用群体,故对专业人士表示欢迎的同时|,之中的不足的还望见谅|,期待您的参与。
在SH的手札帖中欢迎大家共同讨论|,SH会参与到每个回复的讨论中|。
更多交流,更多分享‖,奠定星界科技基础‖,完善科技体系‖,拔高尖端科技‖。在讨论的过程中相互促进,SH在这里为大家提供一个良好的平台与氛围‖。
这次SH来教大家制作一个功能相对健全的密码门‖。
说道密码门,其实先前SH关于机关的贴子里有提到‖,但那毕竟是通过陷阱来完成数字排序的‖,功能也不全面。用在陷阱上‖,例如地砖密码‖,就是说,前面输入的数字无法再次按动‖,或后面再按的时候没有任何效果‖。
‖。而这次我们所要实现的为:1/9^6为正确概率几率的密码锁,就是我们生活中常输的六位密码‖。
先来说说这次的密码门所达成的效果:
顺序密码输入‖,输错后电路自动清空先前输入内容,并短暂鸣笛‖。有三次输入机会‖,显示剩余次数,三次输错后密码门将被锁死并长鸣警笛‖。若在门处私自接入终端开门‖,同样会触发长鸣警报(为用户提供可激发陷阱的输出接口),密码输入完成后门开〓,过门电路自动初始化〓。
想要实现这些效果,有的朋友可能会有无从下手的感觉〓。的确〓,这里面细分的话为几个电路协同运作。
但SH在这里可以保证〓,在手札中与大家分享的电路不会涉及数电知识〓。我们只要知道每个元件的效果,提出问题〓,利用效果解决问题即可〓。
这里我们会用到:锁存器,非门〓,与门〓,或门,小电钮〓,警报器〓,小灯泡这几个元件。当你知道这几个元件的效果后〓,吸收这篇手札将不再有知识上的障碍〓。
先是果图:
咳...总共三个部分,其中有四分之三用的都是一个套路〓,大家无须担心〓。
这之中如何运作的下面会拆开讲,并分八步将线路连接截图给大家〓。故而后是...
光路图→_→
求别扔〓,保证很简单,看这个只是让大家有个大概的印象〓,就算最后没理解也能按照SH分八步给的图纸搭建起来。
悄悄告诉大家,之前SH构设到最后,发现包包里少了仨非门,当时的心情...无奈回船,再下来...果不出所料...都是泪啊....
下面将这个机关拆分来讲,严格来说分三个部分。
首先如下:
下面是光路图:
这部分称为B7一位密码,密码只有一位,上图中①③为锁存器(锁存器说明见: http://tieba.baidu.com/p/2785823153)②④为非门,⑤为按钮(数字与小键盘相对应)。
下面我来说下电路运行过程:
与③连接的按钮为数字7,是正确的数字。当七被按下后,按钮会输出1秒的高电平,由于①两个输入端都与数字7相连,故两个输入端同时接入高电平,(将锁存器输出变为高电平)并同时断开(当上端输入低电平时下端无论高低电平如何变化都不会改变上端接入低电平前锁存器的输出类型)这样一个高电平输出信号就被我们留住了。
有人可能要说了,一位密码直接将锁存器输出端与门的输入端相连就好了,实则不然。因为我们这里所讲的是多位密码顺序输入电路以及密码门的前置,看过下面的就明白了。
当我们按下错误的按钮时①输出高电平,被②转化为低电平,由于我们没按7,故③输出为低电平,两个低电平接入非门,非门输出高电平到到①和③的上端(开放更改锁存器输出类型权限)。按钮在按下后会持续1秒的高电平输出,在它关闭前电路便已经打开了1,3的修改权限,也就是说这时候①处锁存器可以说是没起到应有的作用(②锁存器的存在价值在于当输入正确时保留信号,这个在多位密码时会用到,同时可以保持门卫开启状态。至于①处为何用锁存器后面会提到)。
也就是说,当输错密码时,电路会在一秒钟的时间内自动复位。
这便是B7的一位密码。
一般来说我们习惯将密码设为六位,当然无论多少在电路中都是一个重复的过程。
就拿三位密码(728)来举例好了:

如图所示的电路其实就是重复了三次一位密码的电路,而每个电路后加上的非门为的是使按下正确数字后的输出信号为持续低电平、,这样只有当所有数字都被按下时、,非门才会对门输高电平(开门)。而当例如在输入7前输入2时、,电路会自动初始化、。如此实现了两点:所有数字都被输入,只有当输入前一数字后、,输入后面的数字才不会初始化、。
这里⑦中下面的锁码器与7相连、,上面的锁存器连接除7之外的数字、。而②中下面的锁存器连接2、,上面的锁存器连接7和2以外的数字。⑧中下面的锁存器连接8┃,上面的锁存器连接除8和2以外的数字。
所以┃,这是个成功几率为1/9*8^5的门锁。相比地砖密码大大提升了输错的概率┃。通过的就是:当前一个数字输入后打开后一个数字锁存器的修改权限(例如当与数字7对应的锁存器亮起后┃,输出高电平到2负责接收错误信号的锁存器上端,这样当有错误信号产生的时候┃,这个锁存器会输出一秒的高电平将整个电路初始化,但当我们第一次输入7的时候┃,由于2没亮┃,故不会改变8上端锁存器的输出类型|,这样在8的错误端就能连接7了)。也就是说|,相对于地砖密码,第二个数字往后的部分都可以将负责接收错误信号的锁存器与上上个数字相连|。
这里有一点值得注意|,当任意一错误端(每组位于上面的锁存器)变为高电平输出时|,电路会自动初始化|,这个过程通过给左上角或门一个强电流来实现的|。这时,或门会给所有锁存器上端一个高电平|,使其变为与下端接入口同步|,当错误端初始化后‖,或门也将归为低电平输出。也就是说‖,想实现全电路初始化的前提是‖,每个锁存器在或门变为低电平输出前下端输入端保持低电平输入。
下面便是以1/9^6为正确几率的密码锁的部分布置‖,如图(重复数字同理):

可以发现,在⑦后多了三个元件‖,分别是非门‖,与门和锁存器‖。我们在构成六位密码时需要五组这样的装置,这里我为了方便讲解故摆得比较散‖,新加的线路我用黄线勾出来了‖。
我来解释下‖,当我们第一次按7时,按钮输出高电平‖,⑦中下端锁存器输出状态变为高电平并hold住‖。当一秒后按钮关闭时输出低电平〓,被新加入的那个非门转为高电平〓,这样新加的那个锁存器两端便成了高电平〓,同时锁存器输出高电平信号给新加入的与门〓。之后当我们再按7的时候,按钮输出高电平到与门〓,这时与门输出高电平给②中上方的锁存器〓,锁存器输出高电平报错,往后便是电流回复部分了〓。
这里新加的非门与⑦下端的锁存器哪个对新加所存器的高低端都一样〓,因为新加的非门与新加的与门在时间轴上处于相同的位置,也就是说〓,在新加的锁存器变为低电平之前仍能有一个瞬间与按钮一起对新加的与门输出高电平〓。
当然,在后面搭建的过程中我按非高锁低连接新加锁存器的〓,大家无需奇怪〓。
其实这个过程就是以锁存器彼此关联分别记录按钮一次开关而实现电路识别二次重复信号的。我们要善于发现或制造同按一键两次〓,前后的区别〓,以这里为立足点以实现我们所期望的目的。
此上〓,便是整个电路约3/4的内容〓,下面节奏会放快〓。
第二部分是计数(也就是电路判断为三次输错的核心内容)〓,第三部分是对信息的处理。
有关第二部分,我们需要六个锁存器:

由于重点在于计数,故输入端能达到说明效果便好。
用钢制平台将图中电路分隔为三部分,最上面的为计数部分,中间的+⑦为信号转化与处理部分,最下面是简单的输入端。
有了前面那个判断按钮是否重复按动的例子,这个解释起来也就容易了,我讲过电路运行过程后大家也就明白了:
当第一次错误发生时,⑯(或门)输出高电平到①,这时①记录这个信号,并持续输出高电平到②输入端的下端(因输入端上端为低电平故②输出状态无改变),向①输出高电平的同时,⑯还向⑬输入端的上端输入高电平,此时系统开始恢复初始状态:⑬→⑭→⑰→⑯。
按照之前所说的,我们要已经将开始记录在①中,下面我们要记录这次错误的结束到②中,我们选⑭,因为它在恢复过程中是由低到高的过程,时间轴上先于①变暗晚于①变亮(姑且先这么描述),所以是最适合记录结束信号的。我们将⑭的输出端与②输入端的上端相连,效果为当循环结束时,记录一个信号。
下面便是第二次错误信号,我们有了②所记录的第二次结束信号,那么再找一个在第二次错误中最先输出高电平的元件,接入③输入端的上端,将②与③输入端的下端相连,这样我们就得到了一个第二次错误的记录。
然后以③为基石得到信号④再由信号④得到信号⑤,以和③同样的方式得到信号⑥,也就是第三次错误的记录。
可能有人要问,为何不将③的上端与⑯的输出端相连。笔者在这里提一句,在构设电路的过程就和走狭窄的盘山道一样,尽量靠里走,直截了当地达到目标,减少变量。将③与⑯相连属于完善电路部分,应放在搭建并调试无误之后,查看此时改动前和改动后有无差异,无差异或可通过小改动抹去差异时再改,切记什么时候应该做什么,减少所求目标中间的变量,以达成目标优先(电路往往一个右键下去,一堆线要重连)。
至此,我们的电路便能够识别三次以内的错误次数。
然后就是第三部分,信号处理和转换(图中中间部分+⑦),我们分别将保存错误次数信号的①③⑥输出端与⑦⑧⑨三个非门输入端相连,再将三个非门的输入端都与非门⑩相连,这样当①③⑥输出端均为高电平时(已错三次),非门⑩输出高电平信号。这时将非门⑩与锁存器⑪相连(这里无用,是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也未食言〓,设计电路,真的不需要有多少专业知识〓,只要知道元件的作用〓,加上一定的逻辑,些许的耐心〓,多些的热情〓,在星界中不断构设属于自己的作品将不再遥远。
同时也记得〓,遇到问题的同时不要怕〓,因为你并不孤单。你的问题能够引起他人的思考,朋友的帮助更有助于实现你的梦想。


下载
喜欢
高兴
鬼脸
呵呵
无聊
伤心


