Inhoudsopgave:
- Stap 1: Hoe werkt het?
- Stap 2: Materialen
- Stap 3: Dec tot BCD
- Stap 4: Beeldschermen
- Stap 5: Geheugen
- Stap 6: Vergelijken
- Stap 7: Openen/Sluiten
Video: Digitaal combinatieslot! 7 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:20
Ik heb me altijd afgevraagd hoe elektronische sloten werkten, dus toen ik eenmaal klaar was met de basiscursus digitale elektronica besloot ik er zelf een te bouwen. En ik zal je helpen om je eigen te bouwen!
Je zou het kunnen aansluiten op alles van 1v tot 400v (of misschien meer dat afhangt van het RELAIS), DC of AC, dus je zou het kunnen gebruiken om een ander circuit te besturen, of zelfs om een hek te elektrificeren!! (probeer dat alsjeblieft niet, echt gevaarlijk) … Ik heb een mini-kerstboom aangesloten op de uitgang (110v) omdat ik de feestversiering niet van mijn lab had gehaald, dus het was rond op het moment dat ik het project afrondde.
Hier zijn enkele foto's van het voltooide systeem en ook een video, zodat u kunt zien dat het werkt.
Stap 1: Hoe werkt het?
Eerst dacht ik in wat er moest worden verwerkt en hoe. Dus ik tekende dit diagram als een kaart om me te begeleiden terwijl ik elk deel van het project bouw. Hier is een samenvatting van hoe het werkt.
- Eerst hebben we een circuit nodig om de 10 mogelijke inputs (0-9) te decoderen naar zijn 4 output BCD (Binary Coded Decimal), en een andere output die ons vertelt wanneer een knop wordt ingedrukt.
- Dan moeten we het circuit bouwen zodat onze twee 7-segments displays goed werken, met 4 ingangen voor een BCD-nummer en natuurlijk 7 outs voor onze displays (ik gebruikte de IC 74LS47)
- Vervolgens een circuit om elk ingedrukt nummer op te slaan en tussen displays te schakelen
- Evenals een intern geheugen voor ons wachtwoord
- En de kern van ons slot, de comparator (zijn 8 bits omdat er 4 bits per cijfer in het display zijn, wat betekent dat als je een 4-cijferig slot wilt maken, je er twee van deze aan elkaar moet koppelen.) Dit zal het vertellen ons als de nummers in de displays hetzelfde zijn als het wachtwoord dat is opgeslagen in de interne geheugens.
- En tot slot een circuit om het OPEN- of DICHT-signaal voor onbepaalde tijd vast te houden, en natuurlijk een uitgang (dat is wat je wilt bedienen met je slot)
Stap 2: Materialen
Hier is alles wat je nodig hebt. OPMERKING: ik heb de meeste materialen van een oud videorecorderbord genomen, dus ze waren "gratis" waardoor dit project echt goedkoop was. In totaal heb ik ongeveer 13 dll's uitgegeven (het grootste deel van de IC kostte 76 cnts, behalve de D-ff (ongeveer 1,15), want ik had geen IC, maar je kunt ze bewaren voor toekomstige projecten, het is een geweldige investering. Componenten:
- Veel diodes (ongeveer 20) om eenrichtingsverbindingen te maken.
- Eén NPN-transistor (om de relaisspoel met voldoende stroom te voeden)
- Eén relais (om het aangesloten apparaat te bedienen)
- Eén rode LED (om aan te geven wanneer het systeem VERGRENDELD is)
- 14 drukknoppen
- Veel weerstanden (maakt niet echt uit de weerstand, het is gewoon om de IC-pinnen in te stellen op 1 of 0 [+ of -])
- Twee 7-segments displays.
- Veel draad!!
Geïntegreerde schakelingen:
- Twee 7432 (OR GATES) om de DEC naar BCD en de comparator te bouwen
- Twee 7486 (XOR GATES) zielen van de comparator.
- Twee 7447-beeldschermstuurprogramma's
- Vier 74175 (4 D-FF's) elk is een geheugen dat 4 bits kan bevatten.
- Een 7476(2 JK-FF) voor de displayselector en om het OPEN CLOSE signaal vast te houden.
- Een 7404 (NIET GATE) keert de klokpuls om voor de displayselector. (je zou in plaats daarvan een NPN-transistor kunnen gebruiken, want je hebt maar één poort nodig (de ic heeft er 6).
Gereedschap:
- 3 Protoborden (https://en.wikipedia.org/wiki/Breadboard)
- Tang
- Exacto Mes
- 5V DC voeding (voedt circuits)
- 12V DC voeding (voedt de relaisspoel)
- 120V AC-voeding (voedt het apparaat op de uitgang)
OPMERKING: ik heb ongeveer 8 ft draad gebruikt, en advies hierover, in plaats van dure protoboard-draad te kopen, zou je 3 ft ethernetkabel kunnen kopen, deze strippen, en je hebt 8 of 9 draden, elk met een andere kleur en 3 meter lang. (dat is precies wat ik doe, aangezien de normale protoboard-draad ongeveer 10 ft per dollar is. Maar voor een dollar zou je 3,3 ft ethernetkabel kunnen hebben, dus je zou eindigen met ongeveer 27-30 ft!
Stap 3: Dec tot BCD
De eerste stap is het bouwen van het invoersysteem, zodat u kunt communiceren met uw slot. Ik heb het volgende circuit ontworpen om twee hoofddoelen te bereiken.
- Draai een van de 10 getallen van (0-9) naar zijn BCD (binaire) tegenhanger. (Eigenlijk is er een IC voor dit doel, maar deze was niet op voorraad toen ik naar mijn plaatselijke elektronicawinkel ging. het scheelt je een hoop tijd en moeite, maar ik denk dat het op deze manier leuker is)
- In staat zijn om te detecteren wanneer een knop wordt ingedrukt.
Om het eerste probleem op te lossen, moeten we deze waarheidstabel bekijken om te weten welke output (ABCD) hoog zal zijn (1) wanneer we op elke knop drukken. DCBA] X 0 0 0 0] 0 0 0 0 1] 1 0 0 1 0] 2 0 0 1 1] 3 0 1 0 0] 4 0 1 0 1] 5 0 1 1 0] 6 0 1 1 1] 7 1 0 0 0] 8 1 0 0 1] 9 Nu, hier komt iets waar ik zo dol op ben aan Digitals nu echt iets aan… Er zijn veel manieren om één ding te doen…. Het is net als bij wiskunde, je kunt tot 3 komen door 1 + 2 op te tellen of 4-1 af te trekken, of 3 ^ 1 …. Met andere woorden, je zou veel verschillende circuits kunnen bouwen om hetzelfde doel te bereiken, dit is iets dat onze huidige taak gemakkelijker maakt. Ik heb dit circuit ontworpen omdat ik dacht dat het weinig IC's gebruikte, maar je zou je eigen circuit kunnen ontwerpen! Nu, ik weet dat sommigen misschien hun hoofd krabben om erachter te komen waarom ik zoveel diodes heb gebruikt, nou, hier is het antwoord … Diodes werken als een eenrichtingsverbinding, dus in een paar verbonden zoals in mijn circuit, als er (1) spanning aan zijn "positieve kant" zal het stroom geleiden, dus we zullen ook spanning aan de andere kant hebben, maar als er een negatieve of onbestaande spanning is (0) zal het zich gedragen als een open circuit. Laten we het gedrag van deze diodes eens bekijken, door de eerste diode-anode (+) "E" te noemen, en de tweede diode-anode "F" en de uitgang zal hun aangesloten kathode "X" zijn. EF] X 0 0] 0 0 1] 1 1 0] 1 1 1] 1 U kunt zien dat we exact hetzelfde gedrag hebben als een OF-POORT, en dan, waarom niet alleen diodes gebruiken, op die manier bespaart u nog meer Geïntegreerd Circuits en geld?… Nou, het antwoord is simpel, en je moet er echt rekening mee houden, de SPANNING DAALDE over ELKE DIODE. Het is normaal gesproken ongeveer 0,65 V. Waarom is dat? Omdat elke diode ten minste 0,6 V nodig heeft over zijn anode en kathode om zijn junctie dichtbij te krijgen, zodat hij kan gaan geleiden. Met andere woorden, voor elke diode die u aansluit en tegelijkertijd werkt, verliest u 0,65 V… dat zou geen groot probleem zijn als we alleen leds aanzetten, maar we werken met TTL IC, dat betekent dat we minimaal meer dan 2 V nodig hebben. En aangezien we beginnen met 5 v.. Dat betekent dat het aansluiten van 5 diodes zal een storing in ons circuit veroorzaken (de geïntegreerde schakeling zou geen onderscheid kunnen maken tussen 0v en minder dan 2v…) Daarom heb ik nooit meer dan 2 diodes in elke ingang gebruikt… OPMERKING: U moet een weerstand aansluiten die is aangesloten op GND in elke OR-poortingang … Om het tweede probleem op te lossen, heb ik zojuist een diode toegevoegd aan elke ABCD en 0, en ze met elkaar verbonden, dus wanneer een van deze 1 is, heb je een 1 op "Druk" (P). Nu hoef je het alleen nog maar op je breadboard te bouwen, of als je wat meer ruimte wilt besparen, kun je doen zoals ik deed, en wat gaten boren in een constructiepapier en de diodes en drukknoppen daar solderen … Als je nodig hebt wat meer informatie over Logic Gates: https://www.allaboutcircuits.com/vol_4/chpt_3/1.html Als je wat meer informatie over diodes nodig hebt:
Stap 4: Beeldschermen
Deze stap is een van de gemakkelijkste, we hoeven alleen de ABCD-ingangen te decoderen om het zevensegmentendisplay aan te sturen … En gelukkig is er al een geïntegreerd circuit dat ons alle logica, tijd en ruimte zal besparen.
Als u een Common Anode-display gebruikt, heeft u een 7447 nodig.
Als u een Common Cathode-display gebruikt, heeft u een 7448 nodig.
De bedrading is hetzelfde, dus je zou hoe dan ook mijn schema kunnen gebruiken.
De ingangen ABCD voor elke IC komen van de uitgang van elk geheugen (we zullen de geheugens in de volgende stap bekijken)
Stap 5: Geheugen
Dit is waar we overgaan van combinatorische logica naar secuenciale logica… Om het 4-bits (ABCD) geheugen te maken, hebben we alleen een D-Flip Flop nodig voor elke bit, en in de 74175 hebben we er 4 van. Onthoud dat elk nummer wordt weergegeven in ABCD, dus elke 74175 kan één nummer opslaan. Voor meer informatie over hoe de D-flipflop werkt en hoe hij informatie opslaat: https://en.wikipedia.org/wiki/D_flip_flop#D_flip-flop De invoer van de eerste twee geheugens (Data "D") komt van de DEC naar BCD-coder die we in de eerste stap hebben gebouwd. Welnu, we hebben de informatie die ze allemaal zullen bewaren, maar wanneer gaan ze die opslaan? Natuurlijk slaat de ene het eerst ingedrukte nummer op en de andere het tweede ingedrukte nummer … Dus, hoe krijgen we dit effect? Welnu, met een ander soort FF (flip-flop) de JK, wanneer zowel de J- als de K-ingangen hoog zijn, zal deze de status van de uitgangen veranderen in zijn complement (negatie), met andere woorden, we zullen hebben op "Q" 1, dan 0, dan weer 1, dan 0 enzovoort. Deze Q en Q´ zijn de klok voor de herinneringen (wat zal hen vertellen wanneer nieuwe gegevens moeten worden opgeslagen.) De puls die zal bepalen wanneer deze wijziging wordt aangebracht, is de "P" die hoog is wanneer u op een nummer drukt, maar om bewaar de informatie op tijd, we hebben het tegenovergestelde nodig, dus hier gebruiken we de NOT GATE. Met andere woorden, zodra we op een knop drukken, zal de jk ff zijn uitvoer veranderen, het eerste geheugen inschakelen, zodat het de gegevens zal opslaan, dan drukken we opnieuw en de eerste geheugenopnamestatus zal uit zijn, maar het tweede geheugen slaat de nieuwe gegevens op! Ik heb op dit punt een resetknop toegevoegd die beide geheugens (ABCD) weer op 0 zet en de displayselector (jk ff) terugbrengt naar het eerste geheugen. Voor meer informatie over de JK FF: https://en.wikipedia.org/wiki/D_flip_flop#JK_flip-flop Nu… waarom zei ik dat we vier 74175 nodig hebben? Wel om het wachtwoord op te slaan!! Hoewel het mogelijk is om het wachtwoord met weerstanden in te stellen op GND of Vcc, zal dat uw wachtwoord statisch maken en onmogelijk te wijzigen als u uw slot op een PCB laat doen. Met een geheugen kunt u het wachtwoord dus opslaan en zo vaak wijzigen als u wilt. De ingangen zijn de uitgangen van het geheugen van ons display, dus wanneer een positieve puls hun klok bereikt, kunt u de cijfers op de displays verwerken. (zowel de geheugens als de wachtwoordgeheugens hebben dezelfde informatie). Natuurlijk is de "nieuwe wachtwoord"-puls alleen beschikbaar als u het juiste wachtwoord al heeft ingevoerd en het slot heeft geopend. In totaal hebben we een opslagcapaciteit van 2 Bytes of 16 bits!!
Stap 6: Vergelijken
Op dit moment hebben we een systeem dat in staat is om elk nummer dat we indrukken op te slaan in het ene scherm en vervolgens in het andere, en die informatie naar de wachtwoordgeheugens te kopiëren … we missen nog steeds het essentiële, de comparator … één circuit dat de twee zal vergelijken (ABCD) van de display-geheugens met de twee (ABCD) van de wachtwoordgeheugens.. Nogmaals, er is al een IC van de TTL-familie die al het vuile werk doet, maar het was niet beschikbaar in mijn plaatselijke elektronicawinkel. Dus ik bouwde mijn eigen. Om te begrijpen hoe ik het heb gedaan, laten we eens kijken naar de XOR-waarheidstabel A a] X 0 0] 0 0 1] 1 1 0] 1 1 1] 0 Merk op dat wanneer A en a dezelfde waarde hebben, de uitvoer laag is (0). Dus als ze verschillend zijn, hebben we een 1 aan de uitgang. Dit betekent dat u met één XOR Gate 2 bits van het displaygeheugen en het andere van het wachtwoordgeheugen kunt vergelijken. Op basis daarvan heb ik het volgende circuit gebouwd, onthoud dat je het op je eigen manier kunt bouwen, want er zijn veel manieren om hier in digitale elektronica tot hetzelfde antwoord te komen. Deze schakeling neemt de 8 bits van de displaygeheugens op (één bit per XOR, want de andere ingang moet worden gebruikt met het wachtwoordgeheugen) en de 8 bits van de wachtwoordgeheugens (het is een 1 Byte comparator). En levert maar één output. als en alleen als de informatie op beide displaygeheugens hetzelfde is als de informatie in de wachtwoordgeheugens, zullen we een (0) lage output hebben. Met andere woorden, als de informatie op beide geheugensets verschilt, zelfs op 1 bit, zal de uitvoer hoog zijn (1).
Stap 7: Openen/Sluiten
Eindelijk het laatste deel, we zijn bijna klaar! Binnenkort zul je in staat zijn om elk apparaat te vergrendelen, of een hek te elektrificeren, (Gelieve niet te doen!) Nu zullen we het laatste beetje informatie nemen en het onderbreken met een drukknop, dus als iemand per ongeluk het juiste wachtwoord schrijft, het slot gaat niet open. (ik noemde deze knop "enter", echt slim, huh!,) En na de enter-knop komt de RS-vergrendeling, een apparaat dat Q' naar 1 kan draaien als er een 0 op zijn R-invoer en sla deze op, en Q op 1 als er een 0 in de S-invoer staat. Voor meer informatie over RS-latch: https://en.wikipedia.org/wiki/D_flip_flop#SR_flip-flops Ik heb "Q" aangesloten op een rode led, wat betekent dat het slot betekent, of dat het bestuurde apparaat UIT staat. En "Q´" naar een transistor die het relais van voldoende stroom zal voorzien om het in te schakelen, waardoor het bestuurde apparaat AAN wordt gezet. "Q´" was verbonden met een drukknop (die ik om onduidelijke redenen een nieuwe wachtwoordknop noemde) zodat wanneer je op die knop drukt, je het circuit tussen Q' en de klokinvoer voor het wachtwoordgeheugen sluit. Als Q´ Laag is (systeem vergrendeld) verandert er niets in het wachtwoordgeheugen wanneer de knop wordt ingedrukt, maar als het hoog is (systeem open) wordt de klok geactiveerd en zullen wachtwoordgeheugens de informatie op de displaygeheugens kopiëren. wachtwoord). En een weerstand aangesloten op GND en op een drukknop (vergrendelknop) en van daaruit op de S-ingang, dus elke keer dat je erop drukt, vergrendel je het systeem. Welnu, hoewel ik alleen voor dit doel een RS-flip-flop had kunnen kopen, heb ik nog steeds een JK ff over van mijn 7476. En omdat de ingangen R en S ongepast zijn, hoeven we ons geen zorgen te maken over de klok. Dus sluit de dingen gewoon aan zoals weergegeven in het diagram (zoals ik deed.) Wees voorzichtig als je het relais op AC aansluit, gebruik voldoende isolatietape.. Je wilt geen kortsluiting als je met honderden volt werkt! Na alles met elkaar te hebben verbonden… zijn we eindelijk klaar!!! Voel je vrij om een vraag te stellen of een suggestie te doen, als je een probleem of fout opmerkt, twijfel dan niet om het uit te stellen. Ik ben hier om te helpen. Goed slot, ik bedoel, veel succes met dat slot.
Aanbevolen:
Digitaal vertragingspedaal: 19 stappen (met afbeeldingen)
Digitaal vertragingspedaal: Gitaarpedalen bouwen is een tijdrovend, vaak frustrerend en duur proces. Als je denkt dat je tijd en geld kunt besparen door je eigen digitale delaypedaal te maken, raad ik je ten zeerste aan om R.G. Keen's pagina over de economie van pedaalbouw
Telefoon quarantaine voor digitaal minimalisme! 5 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Telefonische quarantaine voor digitaal minimalisme!: Te vaak zou ik mijn telefoon pakken om het weer te checken en in een sociale-mediaspiraal belanden. Ik had een telefoon quarantaine nodig. :) Dit is een telefoonstandaard die oplicht als je je telefoon neerlegt. Daarnaast houdt het bij hoe lang je het laat staan
Een digitaal horloge maken: 10 stappen (met afbeeldingen)
Hoe maak je een digitaal horloge: Dit is de eerste keer dat ik een Instructable schrijf, dus hopelijk schrijf ik goed genoeg voor jou om te begrijpen. Vandaag zal ik je vertellen hoe je een digitaal horloge kunt maken van een website die ik heb gevonden. De website heet sainsmart.com. Het was echt makkelijk
3D digitaal zand: 11 stappen (met afbeeldingen)
3D Digital Sand: Dit project is een soort voortzetting van mijn DotStar LED Cube, waar ik SMD-LED's gebruikte die op glazen PCB's waren bevestigd. Kort na het afronden van dit project kwam ik het geanimeerde LED-zand van Adafruit tegen dat een versnellingsmeter en een LED-matrix gebruikt om
Digitaal draadloos beveiligingssysteem: 10 stappen (met afbeeldingen)
Digitaal draadloos beveiligingssysteem: in de Instructable gaan we een prototype van digitale draadloze beveiligingssystemen bouwen met behulp van RF-technologie. Het project kan worden gebruikt voor beveiligingsdoeleinden in huis, kantoren, organisaties enz. Omdat het is gebouwd met RF-technologie en het is beveiligd, is het