Sisällysluettelo:

Digitaalinen yhdistelmälukko!: 7 vaihetta (kuvilla)
Digitaalinen yhdistelmälukko!: 7 vaihetta (kuvilla)

Video: Digitaalinen yhdistelmälukko!: 7 vaihetta (kuvilla)

Video: Digitaalinen yhdistelmälukko!: 7 vaihetta (kuvilla)
Video: Как открыть лимбовый кодовый замок. Служба вскрытия замков на КМВ "Замок26" т.+7(918) 75-000-57 2024, Heinäkuu
Anonim
Digitaalinen yhdistelmälukko!
Digitaalinen yhdistelmälukko!
Digitaalinen yhdistelmälukko!
Digitaalinen yhdistelmälukko!

Olen aina ihmetellyt, miten elektroniset lukot toimivat, joten päätettyäni digitaalisen elektroniikan peruskurssin päätin rakentaa sellaisen itse. Ja minä autan sinua rakentamaan oman!

Voit liittää sen mihin tahansa 1v: stä 400v: iin (tai ehkä enemmän, mikä riippuu releestä), tasavirtaan tai vaihtovirtaan, joten voit käyttää sitä toisen piirin ohjaamiseen tai jopa aidan sähköistämiseen! (älä yritä, se on todella vaarallista) … Kytkin mini -joulukuusi lähtöliitäntään (110v), koska en ollut ottanut holydays -koristelua pois laboratorioistani, joten se oli noin silloin, kun sain projektin valmiiksi.

Tässä on joitain kuvia valmiista järjestelmästä ja myös video, jotta näet sen toimivan.

Vaihe 1: Miten se toimii?

Kuinka se toimii?
Kuinka se toimii?

Ensin mietin, mitä pitäisi käsitellä ja miten. Joten piirsin tämän kaavion karttaksi opastamaan minua rakennettaessa jokaista projektin osaa. Tässä on yhteenveto siitä, miten se toimii.

  • Ensin tarvitsemme piirin, jolla voidaan purkaa 10 mahdollista tuloa (0-9) neljälle ulostulolle BCD (Binary Coded Decimal) ja toinen ulostulo, joka kertoo meille mitä tahansa painiketta painettaessa.
  • Sitten meidän on rakennettava piiri, jotta kaksi 7-segmenttistä näyttöämme toimivat kunnolla, 4 tuloa BCD-numerolle ja tietysti 7 ulostuloa näytöillemme (käytin IC 74LS47)
  • Sitten piiri jokaisen painetun numeron tallentamiseksi ja näyttöjen välillä vaihtamiseksi
  • Sekä sisäinen muisti salasanallemme
  • Ja lukon tulisija, vertailija (sen 8 bittiä, koska näytössä on 4 bittiä numeroa kohden, mikä tarkoittaa, että jos haluat tehdä 4 -numeroisen lukituksen, sinun on yhdistettävä kaksi näistä.) meille, jos näytössä näkyvät numerot ovat samat kuin sisäisiin muistiin tallennettu salasana.
  • Ja lopuksi piiri, joka pitää OPEN- tai CLOSE -signaalin määrittämättömän ajan ja tietysti ulostulon (mitä haluat hallita lukolla)

Vaihe 2: Materiaalit

Materiaalit
Materiaalit
Materiaalit
Materiaalit

Tässä on kaikki mitä tarvitset. HUOMAUTUS: Otin suurimman osan materiaaleista vanhalta videonauhurikortilta, joten ne olivat "ilmaisia", mikä teki tästä projektista todella halvan. Yhteensä käytin noin 13 dll: tä (suurin osa IC: stä maksoi 76 cn, paitsi D-ff (noin 1,15)), koska minulla ei ollut IC: tä, mutta voit säilyttää ne tulevia projekteja varten, ne ovat loistava investointi.

  • Paljon diodeja (noin 20) yhdensuuntaisten yhteyksien muodostamiseksi.
  • Yksi NPN -transistori (syöttää relekelaa riittävällä virralla)
  • Yksi rele (liitetyn laitteen ohjaamiseen)
  • Yksi punainen LED (osoittaa, kun järjestelmä on LUKITTU)
  • 14 painonappia
  • Paljon vastuksia (ei ole väliä vastuksella, se on vain asettaa IC -nastat 1 tai 0 [+ tai -])
  • Kaksi 7-segmenttistä näyttöä.
  • Paljon lankaa !!

Integroidut piirit:

  • Kaksi 7432 (TAI GATES) rakentaa DEC BCD ja vertailu
  • Kaksi 7486 (XOR GATES) vertauksen sielua.
  • Kaksi 7447 -näytönohjainta
  • Neljä 74175 (4 D-FF) muistia, joihin mahtuu 4 bittiä.
  • Yksi 7476 (2 JK-FF) näytön valitsimelle ja OPEN CLOSE -signaalin pitämiseksi.
  • Yksi 7404 (NOT GATE) kääntää näytön valitsimen kellopulssin. (voit käyttää NPN -transistoria, koska tarvitset vain yhden portin (icillä on 6).

Työkalut:

  • 3 Protoboards (https://en.wikipedia.org/wiki/Breadboard)
  • Pihdit
  • Exacto -veitsi
  • 5 V DC -virtalähde (syöttöpiirit)
  • 12V DC -virtalähde (syöttää relekelaa)
  • 120V AC -virtalähde (syöttää laitteen lähtöön)

HUOMAUTUS: Käytin noin 8 jalkaa lankaa, ja neuvoja tähän, kun ostin kalliita protoboard -johtoja, voisit ostaa 3 jalan ethernet -kaapelin, kuori sen ja saat 8 tai 9 johtoa, joissa jokaisessa on eri väri ja 3 jalkaa pitkä. (Juuri näin teen, koska normaali protoboard-johto on noin 10 jalkaa dollaria kohti. Mutta taalaa vastaan voit saada 3,3 jalan ethernet-kaapelin, joten päädyt noin 27-30 jalkaan!

Vaihe 3: Vähennä BCD: ksi

Vähennä BCD: lle
Vähennä BCD: lle
Vähennä BCD: lle
Vähennä BCD: lle

Ensimmäinen vaihe on syöttöjärjestelmän rakentaminen, jotta voit kommunikoida lukosi kanssa. Olen suunnitellut seuraavan piirin saavuttaakseni kaksi päätavoitetta.

  • Käännä mikä tahansa 10 numerosta (0-9) sen BCD (binääri) vastineeksi. (Itse asiassa on olemassa IC tähän tarkoitukseen, mutta sitä ei ollut varastossa, kun menin paikalliseen verkkokauppaan., Joten jos saat säästät paljon aikaa ja vaivaa, mutta mielestäni tämä on hauskempaa)
  • Pystyy tunnistamaan aina, kun painiketta painetaan.

Ensimmäisen ongelman ratkaisemiseksi meidän on katsottava tätä totuustaulukkoa tietääksemme, mikä lähtö (ABCD) on korkea (1), kun painamme jokaista painiketta. 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 Tässä on jotain, mistä jotain, jota rakastan Digitalissa, tulee hyödyksi… On monia tapoja tehdä yksi asia…. Se on aivan kuten matematiikka, voit saada 3 lisäämällä 1+2 tai vähentämällä 4-1 tai 3^1…. Toisin sanoen, voit rakentaa paljon erilaisia piirejä saman tavoitteen saavuttamiseksi, mikä helpottaa nykyistä tehtäväämme. Suunnittelin tämän piirin, koska luulin, että siinä käytettiin muutamia IC: itä, mutta voit suunnitella oman! Nyt tiedän, että jotkut ehkä raapivat päätään yrittäessään selvittää, miksi käytin niin paljon diodeja, no, tässä on vastaus… Diodit toimivat kuin yksisuuntainen yhteys, joten parissa, joka on kytketty kuten piirissäni, jos (1) jännite "positiivisella puolella" se johtaa virtaa, joten meillä on jännite myös toisella puolella, mutta jos jännite on negatiivinen tai ei ole olemassa (0), se toimii avoimena piirinä. Tarkistetaan näiden diodien käyttäytyminen kutsumalla ensimmäistä diodianodia (+) "E" ja toista diodianodia "F" ja lähtö on niiden kytketty katodi "X". EF] X 0 0] 0 0 1] 1 1 0] 1 1 1] 1 Voit nähdä, että meillä on täsmälleen sama käyttäytyminen kuin OR GATE, ja sitten, miksi et käytä vain diodeja, säästät entistä enemmän integroitua Piirejä ja rahaa?… No, vastaus on yksinkertainen, ja sinun pitäisi todellakin ottaa se huomioon, JÄNNITE JÄLKEEN KAIKKI DIODI. Se on normaalisti noin 0.65V. Miksi niin? Koska jokainen diodi tarvitsee vähintään 0,6 V: n anodin ja katodin poikki, jotta sen risteys pääsee lähelle, joten se voi aloittaa johtamisen. se ei olisi suuri ongelma, jos olisimme vain kytkemässä ledit päälle, mutta työskentelemme TTL -IC: n kanssa, se tarkoittaa, että tarvitsemme vähintään yli 2 V. Ja koska aloitamme 5 V: lla. aiheuttaa vian piirissämme (integroitu piiri ei pysty erottamaan 0v ja alle 2v…) Siksi en ole koskaan käyttänyt enempää kuin 2 diodia kussakin tulossa… HUOMAUTUS: Sinun on kytkettävä vastus, joka on kytketty GND: hen jokainen TAI Gate -tulo … Toisen ongelman ratkaisemiseksi lisäsin juuri diodin kuhunkin ABCD: hen ja 0: een ja liitin ne yhteen, joten aina kun jokin niistä on 1, sinulla on 1 "Paina" (P). Nyt ei ole muuta kuin rakentaa se leipäpöydällesi tai jos haluat säästää enemmän tilaa, voit tehdä kuten minä, ja porata joitakin reikiä rakennuspaperiin ja juottaa diodit ja painikkeet siellä … Jos tarvitset lisätietoja Logic Gatesista: https://www.allaboutcircuits.com/vol_4/chpt_3/1.html Jos tarvitset lisätietoja diodeista:

Vaihe 4: Näyttää

Näyttää
Näyttää
Näyttää
Näyttää

Tämä vaihe on yksi helpoimmista, meidän on vain purettava ABCD -tulot, jotta voimme ohjata seitsemän segmentin näyttöä… Ja onneksi on jo integroitu piiri, joka säästää kaiken logiikan, ajan ja tilan.

Jos käytät Common Anode -näyttöä, tarvitset 7447.

Jos käytät Common Cathode -näyttöä, tarvitset 7448.

Johdotus on sama, joten voit käyttää kaaviota joka tapauksessa.

Tulot ABCD jokaiselle IC: lle tulevat kunkin muistin lähdöstä (tarkastelemme muistit seuraavassa vaiheessa)

Vaihe 5: Muisti

Muisti
Muisti
Muisti
Muisti
Muisti
Muisti
Muisti
Muisti

Tässä vaihdetaan yhdistelmälogiikasta sekvenssilogiikkaan… 4 bitin (ABCD) muistin luomiseksi tarvitsemme vain D-Flip Flopin jokaiselle bitille, ja 74175: ssä niitä on 4. Muista, että jokainen numero esitetään ABCD: ssä, joten jokainen 74175 voi tallentaa yhden numeron. Lisätietoja D-flipflopin toiminnasta ja tietojen tallentamisesta on osoitteessa: https://en.wikipedia.org/wiki/D_flip_flop#D_flip-flop Kahden ensimmäisen muistin syöttö (Data "D") tulee DEC -BCD -kooderista, jonka rakensimme ensimmäisessä vaiheessa. No, meillä on tietoja, joita jokainen pitää sisällään, mutta milloin he aikovat tallentaa ne? Tietenkin yksi tallentaa ensimmäisen painetun numeron ja toinen toisen painetun numeron … Joten miten saamme tämän vaikutuksen? No, toisen tyyppisen FF: n (flip flop) kanssa JK, kun sekä J- että K -tulot ovat korkeat, se muuttaa lähtöjen tilan komplementiksi (negaatio), toisin sanoen meillä on "Q" 1, sitten 0, sitten 1, sitten 0 ja niin edelleen. Tämä Q ja Q ovat muistien kello (mikä kertoo heille, milloin uudet tiedot tallennetaan.) Pulssi, joka määrittää, milloin tämä muutos tehdään, on "P", joka on korkea aina, kun painat mitä tahansa numeroa, mutta Tallenna tiedot ajoissa, tarvitsemme päinvastaista, joten tässä käytetään NOT GATE -porttia. Toisin sanoen, kun painamme painiketta, jk ff muuttaa lähtöä, kytkee ensimmäisen muistin päälle, niin että se tallentaa tiedot, sitten painamme uudelleen ja ensimmäinen muistin tallennustila on pois päältä, mutta toinen muisti tallentaa uudet tiedot! Lisäsin tässä vaiheessa nollauspainikkeen, joka kääntää molemmat muistit (ABCD) takaisin 0: ksi ja palauttaa näytön valitsimen (jk ff) ensimmäiseen muistiin. Lisätietoja JK FF: stä: https://en.wikipedia.org/wiki/D_flip_flop#JK_flip-flop Nyt… miksi sanoin, että tarvitsemme neljä 74175? No, salasanan tallentaminen !! Vaikka on mahdollista vain asettaa salasana vastuksilla arvoon GND tai Vcc, se tekee salasanastasi staattisen ja mahdotonta muuttaa, jos saat lukituksen piirilevylle. Joten muistilla voit tallentaa salasanan ja vaihtaa sen niin monta kertaa kuin haluat. Tulot ovat näyttömuistimme ulostuloja, joten kun positiivinen pulssi saavuttaa kellonsa, selviät mitä numerot ovat näytöissä. (sekä muistit että salasanamuistit sisältävät samat tiedot). Tietenkin "uuden salasanan" pulssi on käytettävissä vain, jos olet jo loukannut oikean salasanan ja avannut lukon. Kaikkiaan meillä on 2 tai 16 bitin tallennuskapasiteetti !!

Vaihe 6: Vertailu

Vertailu
Vertailu
Vertailu
Vertailu

Tässä vaiheessa meillä on järjestelmä, joka pystyy tallentamaan jokaisen painamamme numeron yhteen näyttöön ja sitten toiseen ja kopioimaan nämä tiedot salasanamuistiin … meiltä puuttuu edelleen olennainen, vertailija … yksi piiri, joka vertaa näitä kahta (ABCD) näyttömuistien kanssa kahdella (ABCD) salasanamuistilla. Jälleen kerran on olemassa TTL -perheen IC, joka tekee kaiken likaisen työn, mutta sitä ei ollut saatavilla paikallisesta verkkokaupastani. Rakensin siis oman. Ymmärtääkseni miten tein sen, katsotaan XOR -totuustaulukkoa A a] X 0 0] 0 0 1] 1 1 0] 1 1 1] 0 Huomaa, että aina kun A: lla ja a: lla on sama arvo, tulos on alhainen (0). Joten jos ne ovat erilaisia, meillä on lähtö 1. Tämä tarkoittaa sitä, että yhdellä XOR -portilla voit verrata 2 bitin näyttömuistia ja toista salasanamuistia. Sen perusteella, että rakensin seuraavan piirin, muista, että voit rakentaa sen omalla tavallasi, koska on monia tapoja päästä samaan vastaukseen täällä digitaalisessa elektroniikassa. Tämä piiri ottaa näyttömuistien 8 bittiä (yksi bitti XORia kohti, koska toista tuloa tulisi käyttää salasanamuistin kanssa) ja 8 bittiä salasanamuistia (sen 1 tavun vertailu). Ja tuottaa vain yhden tuloksen. jos ja vain jos molempien näyttömuistien tiedot ovat samat kuin salasanamuistien tiedot, tuloksemme ovat (0) alhaiset. Toisin sanoen, jos molempien muistisarjojen tiedot eroavat toisistaan, jopa 1 bitillä, lähtö on korkea (1).

Vaihe 7: Avaa/sulje

Avaa sulje
Avaa sulje
Avaa sulje
Avaa sulje
Avaa sulje
Avaa sulje
Avaa sulje
Avaa sulje

Lopuksi viimeinen osa, olemme melkein valmiita! Pian voit lukita minkä tahansa laitteen tai sähköistää minkä tahansa aidan. lukko ei avaudu. (Kutsuin tätä painiketta "enter", todella fiksu, huh! R -tulo ja tallenna se ja Q 1: ksi, jos S -tulossa on 0. Lisätietoja RS-salvasta: https://en.wikipedia.org/wiki/D_flip_flop#SR_flip-flops Liitin "Q" punaiseen LED-lukkoon tai että ohjattava laite on POIS PÄÄLTÄ. Ja "Q´" transistorille, joka toimittaa releelle enogh -virran sen kääntämiseksi, kytkemällä ohjatun laitteen päälle. "Q´" on liitetty painikkeeseen (jota kutsuin uuden salasanan painikkeeksi tottelevista syistä), joten kun painat sitä, suljet Q: n ja salasanamuistin kellon välisen piirin. Jos Q´ on alhainen (järjestelmä lukittu), mikään ei muutu salasanamuistissa, kun painiketta painetaan, mutta jos se on korkea (järjestelmä auki), kello aktivoidaan ja salasanamuistit kopioivat näytön muistien tiedot. (Salasana). Ja liitetty vastus GND: hen ja painikkeeseen (lukituspainike) ja sieltä S -tuloon, joten aina kun painat sitä, lukitset järjestelmän. No, vaikka olisin voinut ostaa RS -flip -flopin juuri tätä tarkoitusta varten, minulla oli vielä yksi JK ff jäljellä 7476: sta. Ja koska tulot R ja S ovat asincronous, meidän ei tarvitse huolehtia kellosta. Joten vain johto asiat kuten kaaviossa (kuten minä.) Ole varovainen, kun liität releen AC, käytä tarpeeksi eristysnauhaa.. Et halua oikosulkua työskennellessäsi satojen voltien kanssa! Kun olemme saaneet aikaan kaiken yhdessä, olemme vihdoin valmiit !!! Voit vapaasti kommentoida mitä tahansa kysymystä tai ehdottaa, jos huomaat ongelman tai virheen, älä epäile sitä. Olen täällä auttamassa. Hyvä lukko, onnea lukolle.

Suositeltava: