Sisukord:
- Samm: kuidas see toimib?
- 2. samm: materjalid
- Samm: vähendage BCD -d
- 4. samm: kuvab
- Samm: mälu
- 6. samm: võrdlemine
- Samm: avage/sulgege
Video: Digitaalne kombineeritud lukk!: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:51
Olen alati mõelnud, kuidas elektroonilised lukud toimivad, nii et kui ma lõpetasin digitaalse elektroonika algkursuse, otsustasin selle ise ehitada. Ja ma aitan teil ehitada oma!
Saate selle ühendada mis tahes 1v kuni 400v (või võib -olla rohkem, mis sõltub RELEEST), alalisvoolu või vahelduvvooluga, nii et saaksite seda kasutada mõne muu vooluahela juhtimiseks või isegi aia elektrifitseerimiseks! (palun ärge proovige seda, see on tõesti ohtlik) … Ma ühendasin väljundiga (110v) mini jõulupuu, sest ma ei olnud pidupäevade kaunistust oma laborist maha võtnud, nii et see oli projekti lõpetamise ajal umbes.
Siin on mõned pildid valmis süsteemist ja video ka, et saaksite näha, kuidas see töötab.
Samm: kuidas see toimib?
Kõigepealt mõtlesin, mida ja kuidas on vaja töödelda. Nii et ma joonistasin selle skeemi kaardina, mis juhendab mind projekti iga osa ehitamisel. Siin on kokkuvõte selle toimimisest.
- Esiteks vajame ahelat, et dekodeerida 10 võimalikku sisendit (0–9) oma 4 väljundi BCD-le (Binary Coded Decimal) ja veel üks väljund, mis ütleb meile, kui vajutate mõnda nuppu.
- Siis peame ehitama vooluringi, et meie kaks 7-segmendilist kuvarit korralikult töötaks, 4 sisendit BCD-numbri jaoks ja loomulikult 7 väljundit meie kuvarite jaoks (kasutasin IC 74LS47)
- Seejärel ahel iga vajutatud numbri salvestamiseks ja kuvarite vahel vahetamiseks
- Samuti meie parooli sisemälu
- Ja meie luku kolde, võrdleja (selle 8 bitti, sest ekraanil on 4 bitti ühe numbri kohta, mis tähendab, et kui soovite neljakohalise luku teha, peate need kaks omavahel ühendama.) meile, kui ekraanil olevad numbrid on samad, mis sisemällu salvestatud parool.
- Ja lõpuks ahel, mis hoiab signaali OPEN või CLOSE määramata aja jooksul ja loomulikult väljundit (seda soovite lukuga juhtida)
2. samm: materjalid
Siin on kõik, mida vajate. MÄRKUS. Võtsin suurema osa materjalidest vanast videomaki plaadist, nii et need olid "tasuta", muutes selle projekti tõeliselt odavaks. Kokku kulutasin umbes 13 dll-i (suurem osa IC-st maksis 76 cn, välja arvatud D-ff (umbes 1,15)), kuna mul polnud IC-d, kuid võite need alles jätta tulevasteks projektideks, need on suurepärane investeering.
- Palju dioode (umbes 20) ühesuunaliste ühenduste loomiseks.
- Üks NPN transistor (releemähise toitmiseks piisava vooluga)
- Üks relee (ühendatud seadme juhtimiseks)
- Üks punane LED (näitab, kui süsteem on LUKUSTATUD)
- 14 nuppu
- Paljud takistid (takistusel pole vahet, piisab, kui seada IC -kontaktid 1 või 0 [+ või -])
- Kaks 7-segmendilist kuva.
- Palju traati !!
Integraallülitused:
- Kaks 7432 (VÕI VÄRAVAD), et ehitada DEC BCD -ks ja võrdlusalus
- Võrdleja kaks 7486 (XOR GATES) hinge.
- Kaks 7447 kuvari draiverit
- Neli 74175 (4 D-FF) on mälu, mis mahutab 4 bitti.
- Üks 7476 (2 JK-FF) ekraani valija jaoks ja signaali OPEN CLOSE hoidmiseks.
- Üks 7404 (NOT GATE) pöörab ekraani valija kella pulsi ümber. (võite kasutada installitud NPN -transistorit, kuna vajate ainult ühte väravat (ic -l on 6).
Tööriistad:
- 3 Protoboards (https://en.wikipedia.org/wiki/Breadboard)
- Tangid
- Exacto nuga
- 5V alalisvoolu toide (toidab ahelaid)
- 12V alalisvoolu toide (toidab relee mähist)
- 120 V vahelduvvoolu toide (toidab seadet väljundist)
MÄRKUS. Ma kasutasin umbes 8 jalga traati ja selle kohta nõu, ostes kalli protoboardtraadi, võite osta 3 jalga Etherneti kaablit, eemaldada see ja teil on 8 või 9 juhtmest, iga värvi ja 3 jalga pikk. (just seda ma teengi, kuna tavaline protoboardi traat on umbes 10 jalga dollari kohta. Aga raha eest saaksite 3,3 jalga Etherneti kaablit, nii et lõpuks oleksite umbes 27-30 jalga!
Samm: vähendage BCD -d
Esimene samm on sisendsüsteemi loomine, et saaksite lukuga suhelda. Olen kavandanud järgmise skeemi kahe peamise eesmärgi saavutamiseks.
- Pöörake ükskõik milline kümnest numbrist (0–9) BCD (binaar) vasteks. (Tegelikult on selleks IC, kuid see ei olnud laos, kui läksin oma kohalikku elektroonilisse poodi. see säästab palju aega ja vaeva, kuid ma arvan, et nii on lõbusam)
- Võimalus tuvastada iga nupu vajutamine.
Esimese probleemi lahendamiseks peaksime vaatama seda tõetabelit, et teada saada, milline väljund (ABCD) on iga nupu vajutamisel kõrge (1). 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 Siin on see, kus midagi, mida ma Digitalsi puhul armastan, on kasutusel … Ühe asja tegemiseks on palju viise…. See on täpselt nagu matemaatika, võite saada 3, lisades 1+2 või lahutades 4-1 või 3^1…. Teisisõnu, sama eesmärgi saavutamiseks võite ehitada palju erinevaid ahelaid, mis muudab meie praeguse ülesande lihtsamaks. Ma kavandasin selle vooluringi, sest arvasin, et see kasutab vähe IC -sid, kuid saate ise oma disaini kujundada! Nüüd tean, et mõni võib -olla kratsib pead, püüdes aru saada, miks ma nii palju dioode kasutasin, siin on vastus… Dioodid töötavad nagu ühesuunaline ühendus, nii et paaris, mis on ühendatud nagu minu vooluringis, kui on (1) pinge "positiivsel küljel" juhib see voolu, nii et meil on pinge ka teisel küljel, kuid negatiivse või olematu pinge korral (0) käitub see avatud ahelana. Kontrollime nende dioodide käitumist, nimetades esimest dioodianoodi (+) "E" ja teist dioodianoodi "F" ning väljundiks on nende ühendatud katood "X". EF] X 0 0] 0 0 1] 1 1 0] 1 1 1] 1 Näete, et meil on täpselt sama käitumine kui OR VÄRAVAL, ja siis, miks mitte kasutada ainult dioode, säästate veelgi rohkem integreeritud Vooluringid ja raha?… Noh, vastus on lihtne ja peaksite seda tõesti arvestama, pinge langes IGA DIEEDI. Tavaliselt on see umbes 0,65 V. Miks nii? Kuna iga diood vajab oma anoodi ja katoodi vahel vähemalt 0,6 V, et ristmik lähedale jõuaks, nii et see saaks hakata juhtima. Teisisõnu, iga ühendatava dioodi ja selle samaaegse töötamise korral kaotate 0,65 V… see poleks suur probleem, kui me ainult LED -id sisse lülitaksime, kuid töötame TTL -i IC -ga, see tähendab, et vajame vähemalt üle 2 V. Ja kui me alustame 5 v -st. See tähendab, et ühendame 5 dioodi põhjustab meie vooluahela rikke (integraallülitus ei suudaks teha vahet 0v ja vähem kui 2v vahel …) Sellepärast ei kasutanud ma kunagi igas sisendis rohkem kui 2 dioodi… MÄRKUS. Peate ühendama GND -ga ühendatud takisti iga OR Gate'i sisend… Teise probleemi lahendamiseks lisasin igale ABCD -le ja 0 -le just dioodi ja ühendasin need kokku, nii et kui mõni neist on 1, on nupul 1 nupp (P). Nüüd jääb üle ehitada see oma leivalauale või kui soovite säästa rohkem ruumi, võite teha nii nagu mina, ja puurida ehituspaberisse mõned augud ning joodata dioodid ja nupud sinna … Kui vaja lisateavet loogikaväravate kohta: https://www.allaboutcircuits.com/vol_4/chpt_3/1.html Kui vajate dioodide kohta lisateavet:
4. samm: kuvab
See samm on üks lihtsamaid, seitsme segmendi kuva juhtimiseks peame lihtsalt ABCD sisendid dekodeerima … Ja õnneks on juba olemas integraallülitus, mis säästab kogu loogikat, aega ja ruumi.
Kui kasutate tavalist anoodi ekraani, vajate 7447.
Kui kasutate ühise katoodi ekraani, vajate 7448.
Juhtmestik on sama, nii et mõlemal juhul võite kasutada minu skeemi.
Iga IC sisendid ABCD pärinevad iga mälu väljundist (vaatame mälestused üle järgmises etapis)
Samm: mälu
See on see, kui me muutuksime kombineeritud loogikast sekventsiaalseks loogikaks … 4-bitise (ABCD) mälu loomiseks vajame iga bitti jaoks D-Flip Flopi ja 74175-s on neid 4. Pidage meeles, et iga number on ABCD -s esindatud, nii et iga 74175 saab salvestada ühe numbri. Lisateavet selle kohta, kuidas D-flipflop töötab ja kuidas see teavet salvestab, leiate siit: https://en.wikipedia.org/wiki/D_flip_flop#D_flip-flop Kahe esimese mälu sisend (andmed "D") pärineb DEC -BCD -kodeerijast, mille ehitasime esimesel sammul. Noh, meil on teavet, mida igaüks hoiab, kuid millal nad seda salvestavad? Loomulikult salvestab üks esimese vajutatud numbri ja teine teise vajutatud numbri … Niisiis, kuidas me selle efekti saavutame? Noh, teist tüüpi FF (flip flop) JK puhul, kui nii J kui ka K sisend on kõrge, muudab see väljundite oleku oma täiendiks (eitus), teisisõnu, meil on "Q" 1, siis 0, siis uuesti 1, siis 0 ja nii edasi. See Q ja Q on mälestuste kell (mis ütleb neile, millal uusi andmeid salvestada.) Selle muudatuse tegemisel määrab impulss "P", mis on kõrge, kui vajutate mis tahes numbrit, kuid Salvestage teave õigeaegselt, vajame vastupidist, nii et siin me kasutame NOT GATE. Teisisõnu, kui vajutame nuppu, muudab jk ff oma väljundit, lülitab esimese mälu sisse, nii et see salvestab andmed, seejärel vajutame uuesti ja esimene mälu salvestamise olek on välja lülitatud, kuid teine mälu salvestab uued andmed! Lisasin siinkohal lähtestusnupu, mis lülitab mõlemad mälud (ABCD) tagasi 0 -le ja tagastab ekraanivalija (jk ff) esimesse mällu. Lisateavet JK FF kohta leiate aadressilt https://en.wikipedia.org/wiki/D_flip_flop#JK_flip-flop Nüüd… miks ma ütlesin, et vajame nelja 74175? No parooli salvestamiseks !! Kuigi on võimalik lihtsalt takistitega parool määrata GND või Vcc, muudab see teie parooli staatiliseks ja seda pole võimalik muuta, kui lukustate trükkplaadil. Niisiis, mälu abil saate parooli salvestada ja seda muuta nii mitu korda kui soovite. Sisendid on meie kuvarite mälu väljundid, nii et kui positiivne impulss jõuab kellani, saate hakkama kuvari numbritega. (nii mälestustel kui ka paroolimäludel on sama teave). Loomulikult on "uue parooli" impulss saadaval ainult siis, kui olete juba õige parooli sisse murdnud ja luku avanud. Kokku on meil mälumaht 2 või 16 bitti !!
6. samm: võrdlemine
Praegu on meil süsteem, mis suudab salvestada kõik numbrid, mida vajutame ühele ekraanile, seejärel teisele, ja kopeerida selle teabe paroolimälestustesse … meil on endiselt puudu põhiline, võrdleja … üks ahel, mis neid kahte võrdleb (ABCD) kahest (ABCD) paroolimälestusest. Jällegi on TTL perekonnast pärit IC, mis teeb kogu musta töö ära, kuid seda polnud minu kohalikus elektroonilises poes saadaval. Nii ma ehitasin oma. Et mõista, kuidas ma seda tegin, vaadake XOR -i tõetabelit A a] X 0 0] 0 0 1] 1 1 0] 1 1 1] 0 Pange tähele, et alati, kui A ja a on sama väärtusega, on väljund madal (0). Nii et kui need on erinevad, on meil väljundis 1. See tähendab, et ühe XOR -väravaga saate võrrelda 2 -bitist ekraani ja teist paroolimälu. Selle põhjal ehitasin järgmise vooluahela, pidage meeles, et saate selle luua ka omal moel, sest siin on digitaalse elektroonika puhul samale vastusele jõudmiseks palju võimalusi. See vooluahel võtab sisse kuvari 8 mälu (üks bit XOR -i kohta, kuna teist sisendit tuleks kasutada koos paroolimäluga) ja 8 bitti paroolimälu (see on 1 -baidine võrdlus). Ja annab ainult ühe väljundi. kui ja ainult siis, kui mõlema kuvamälu teave on sama, mis paroolimäludes, on meil (0) madal väljund. Teisisõnu, kui teave mõlema mälu komplekti kohta erineb isegi 1 bitist, on väljund kõrge (1).
Samm: avage/sulgege
Lõpuks viimane osa, oleme peaaegu valmis! Varsti saate lukustada mis tahes seadme või elektrifitseerida tara, (palun ärge!) Nüüd võtame viimase teabe ja katkestame selle nupuga, nii et kui keegi kirjutab juhuslikult õige parooli, lukk ei avane. (Ma nimetasin seda nuppu "sisestamiseks", tõesti nutikas, ah! Sisestage R ja salvestage see ning Q 1 -ni, kui S -sisendis on 0. Lisateavet RS-riivi kohta leiate aadressilt https://et.wikipedia.org/wiki/D_flip_flop#SR_flip-flops Ühendasin "Q" punase LED-lukuga lukuga või et juhitav seade on VÄLJAS. Ja "Q" transistorile, mis annab releele selle sisselülitamiseks suure voolu, lülitades kontrollitava seadme sisse. "Q´" oli ühendatud nupuga (mida ma nimetasin kuulekatel põhjustel uueks paroolinupuks), nii et kui te seda nuppu vajutate, sulgete ahela Q´ ja paroolimälu kella sisendi vahel. Kui Q´ on madal (süsteem on lukustatud), ei muutu paroolimälus nupu vajutamisel midagi, kuid kui see on kõrge (süsteem avatud), aktiveeritakse kell ja paroolimälud kopeerivad ekraanimälude teabe. (parool). Ja ühendas takisti GND -ga ja vajutusnupuga (lukustusnupp) ja sealt S -sisendiga, nii et iga kord, kui seda vajutate, lukustate süsteemi. Noh, kuigi ma oleksin võinud osta RS flip flopi just selleks otstarbeks, jäi mul 7476 -st üks JK ff alles. Ja kuna sisendid R ja S on asünkroonsed, ei pea me kella pärast muretsema. Nii et lihtsalt ühendage juhtmed skeemil näidatud viisil (nagu ma tegin.) Ole ettevaatlik, kui ühendate relee vahelduvvooluga, kasutage piisavalt eralduslinti. Sa ei taha sadade voltidega töötamisel lühist! Pärast kõigi asjade kokkusaamist… oleme lõpuks valmis !!! Palun kommenteerige julgelt kõiki küsimusi või soovitusi, kui märkate mõnda probleemi või viga, ärge kahtlege selle täpsustamises. Olen siin, et aidata. Hea lukk, ma mõtlen, palju õnne selle lukuga.
Soovitan:
Lihtne salajane kombineeritud lukk!: 5 sammu
Lihtne salajane kombineeritud lukk!: Tere kõigile! Täna tahan teile näidata oma ideed teha väga lihtne ja lahe koodlukk. See ei ole nagu teised lukud, sellel pole numbriklahvistikku ja see sisaldab ainult 4 osa! Kas olete huvitatud? Nii et alustame
Porto-lukk: kaasaskantav lukk: 5 sammu
Porto-lukk: Kaasaskantav lukk: Tere kõigile, nii et selle projekti puhul tahtsin kujundada midagi lihtsat, sest see lahendab lihtsa probleemi, teie CR-kabiinis pole lukke. Enamik inimesi kirjutas mind alguses maha, öeldes: kas pole lihtsalt lihtsam lukke paigaldada? See on
EAL- manustatud - kombineeritud lukk: 4 sammu
EAL-Embedded- kombineeritud lukk: see projekt on üks kooliprojekt, mille olen valinud EAL-is aine 2.1 C-programmeerimine. See on esimene kord, kui tegin Arduino projekti ja C-programmeerimise. See on projekt, mis esitab kombineeritud luku. Kombineeritud lukk
Kombineeritud Wiimote'i modifikatsioonid kõik ühes: 3 sammu
Kombineeritud Wiimote'i modifikatsioonid kõik ühes: siin läheme uuesti. Kuid seekord on modifikatsioonid nii lihtsad, et panen kolm neist ühte, nupu Easy A, Nunchuck LED ja The Player Indicator mod. Tahan kõigepealt märkida, et ühtegi neist modifikatsioonidest ei tee mina. Ainsad modifikatsioonid, mida ma esmalt tegin, on
Arduino traadita kombineeritud lukk koos NRF24L01 ja 4 numbrilise 7 -segmendilise ekraaniga: 6 sammu (koos piltidega)
Arduino traadita kombineeritud lukk koos NRF24L01 ja neljakohalise 7 -segmendilise ekraaniga: see projekt alustas oma elu harjutusena, et teha midagi neljakohalise 7 -segmendilise kuvariga. Mõtlesin välja võimaluse sisestada neljakohaline kombinatsiooninumber, kuid üks kord see oli lõpetatud, see oli üsna igav. Ma ehitasin selle Arduino UNO abil