İçindekiler:

Dijital Şifreli Kilit!: 7 Adım (Resimli)
Dijital Şifreli Kilit!: 7 Adım (Resimli)

Video: Dijital Şifreli Kilit!: 7 Adım (Resimli)

Video: Dijital Şifreli Kilit!: 7 Adım (Resimli)
Video: iPhone Şifresini Unutursanız Ne Olur? 2024, Temmuz
Anonim
Dijital Şifreli Kilit!
Dijital Şifreli Kilit!
Dijital Şifreli Kilit!
Dijital Şifreli Kilit!

Elektronik kilitlerin nasıl çalıştığını hep merak etmişimdir, bu yüzden temel dijital elektronik kursunu bitirdikten sonra kendim bir tane yapmaya karar verdim. Ve ben de kendininkini inşa etmene yardım edeceğim!

1v'den 400v'ye (veya belki daha fazla RÖLE'ye bağlı), DC veya AC'ye kadar herhangi bir şeye bağlayabilirsiniz, böylece başka bir devreyi kontrol etmek için veya hatta bir çiti elektriklendirmek için kullanabilirsiniz! (lütfen bunu denemeyin, gerçekten tehlikeli)… Çıkışa (110v) mini bir yılbaşı ağacı bağladım çünkü bayram dekorasyonunu laboratuvarımdan çıkarmamıştım, bu yüzden projeyi bitirdiğimde etraftaydı.

İşte bitmiş Sistemin bazı resimleri ve bir video da çalıştığını görebilirsiniz.

Adım 1: Nasıl Çalışır?

O nasıl çalışır?
O nasıl çalışır?

İlk önce neyin işlenmesi gerektiğini ve nasıl olduğunu düşündüm. Bu yüzden projenin her bir parçasını inşa ederken bana yol göstermesi için bu diyagramı bir harita olarak çizdim. İşte nasıl çalıştığının bir özeti.

  • İlk önce, 4 çıkışlı BCD'ye (İkili Kodlu Ondalık) 10 olası girişi (0-9) deşifre edecek bir devreye ve herhangi bir düğmeye basıldığında bize haber veren başka bir çıkışa ihtiyacımız var.
  • Ardından, bir BCD numarası için 4 giriş ve tabii ki ekranlarımız için 7 çıkış ile iki 7 segmentli ekranımızın düzgün çalışması için devreyi kurmamız gerekiyor, (IC 74LS47 kullandım)
  • Ardından, basılan her numarayı kaydetmek ve ekranlar arasında geçiş yapmak için bir devre
  • Parolamız için dahili bir hafızanın yanı sıra
  • Ve kilidimizin kalbi, karşılaştırıcı (8 bit çünkü ekranda her basamakta 4 bit vardır, yani 4 basamaklı bir kilit yapmak istiyorsanız bunlardan ikisinin birbirine bağlı olması gerekir.) Bu şunu söyleyecektir. Ekranlardaki rakamlar dahili hafızalarda kayıtlı şifre ile aynı ise bize bildiriniz.
  • Ve son olarak, AÇIK veya KAPALI sinyalini belirsiz bir süre boyunca tutacak bir devre ve elbette bir çıkış (kilitiniz ile kontrol etmek istediğiniz her şey)

Adım 2: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler

İşte ihtiyacınız olacak her şey. NOT: Malzemelerin çoğunu eski bir VCR panosundan aldım, bu yüzden bu projeyi gerçekten ucuz hale getirmek için "ücretsiz" oldular. Toplamda yaklaşık 13 dll harcadım (IC'nin çoğu 76 cnt'ye mal oldu, D-ff hariç (yaklaşık 1.15) çünkü IC'm yoktu, ancak bunları gelecekteki projeler için saklayabilirsiniz, bunlar harika bir yatırım. Bileşenler:

  • Tek yönlü bağlantılar yapmak için çok sayıda Diyot (yaklaşık 20).
  • Bir NPN transistör (Röle Bobini yeterli akımla beslemek için)
  • Bir Röle (bağlı cihazı kontrol etmek için)
  • Bir kırmızı LED (sistemin KİLİTLİ olduğunu belirtmek için)
  • 14 basma düğmesi
  • Çok sayıda direnç (direnç gerçekten önemli değil, sadece IC pinlerini 1 veya 0[+ veya -] olarak ayarlamak için)
  • İki adet 7 segmentli Ekran.
  • Bir sürü tel!!

Entegre devreler:

  • DEC'den BCD'ye ve karşılaştırıcıyı oluşturmak için iki 7432(VEYA GATES)
  • Karşılaştırıcının iki 7486(XOR GATES) ruhu.
  • İki 7447 Ekran sürücüsü
  • Dört adet 74175(4 D-FF), her biri 4 bit tutabilen bir bellektir.
  • Ekran seçici ve AÇ KAPAT sinyalini tutmak için bir adet 7476(2 JK-FF).
  • Bir 7404(NOT GATE) ekran seçici için saat darbesini tersine çevirir. (yerleşik bir NPN transistör kullanabilirsiniz, çünkü yalnızca bir kapıya ihtiyacınız vardır (ic'de 6 vardır).

Aletler:

  • 3 Protoboard (https://en.wikipedia.org/wiki/Breadboard)
  • pense
  • Exacto Bıçak
  • 5V DC güç kaynağı (devreleri besler)
  • 12V DC güç kaynağı(röle bobinini besler)
  • 120V AC Güç kaynağı(cihazı çıkışta besler)

NOT: Yaklaşık 8 ft kablo kullandım ve bu konuda tavsiye, pahalı protoboard tel satın almak yerine, 3 ft ethernet kablosu satın alabilir, sıyırabilirsiniz ve her biri farklı renkte 8 veya 9 teliniz olacak ve 3 fit uzunluğunda. (Bu tam olarak benim yaptığım şey, çünkü normal protokol kablosu dolar başına yaklaşık 10 ft. Ama bir paraya 3,3 ft ethernet kablosu alabilirsin, bu yüzden yaklaşık 27-30 ft ile sonuçlanırsın!

3. Adım: Aralık'tan BCD'ye

Aralık'tan BCD'ye
Aralık'tan BCD'ye
Aralık'tan BCD'ye
Aralık'tan BCD'ye

İlk adım, kilidinizle iletişim kurabilmeniz için giriş sistemini oluşturmaktır. İki ana amaca ulaşmak için aşağıdaki devreyi tasarladım.

  • (0-9) arasındaki 10 sayıdan herhangi birini BCD (binary) karşılığına çevirin.(Aslında bu amaç için bir IC var ama yerel elektronik mağazama gittiğimde stokta yoktu. Kendinizi çok zaman ve zahmetten kurtarırsınız ama bence bu şekilde daha eğlenceli)
  • Bir düğmeye ne zaman basıldığını algılayabilme.

İlk problemi çözmek için, her düğmeye bastığımızda hangi çıktının (ABCD) yüksek (1) olacağını bilmek için bu doğruluk tablosuna bakmalıyız. 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 Şimdi Dijitaller hakkında sevdiğim bir şey işe yarıyor… Bir şeyi yapmanın birçok yolu var…. Tıpkı matematik gibi, 1+2 ekleyerek veya 4-1 veya 3^1 çıkararak 3'e ulaşabilirsin…. Başka bir deyişle, aynı amaca ulaşmak için birçok farklı devre kurabilirsiniz, bu bizim şu anki işimizi kolaylaştıran bir şeydir. Bu devreyi tasarladım çünkü birkaç IC kullandığını düşündüm, ama kendin tasarlayabilirsin! Şimdi, biliyorum ki bazıları neden bu kadar çok diyot kullandığımı anlamaya çalışırken kafalarını kaşıyor olabilir, işte cevap… Diyotlar tek yönlü bir bağlantı gibi çalışır, yani devremdeki gibi bağlı bir çift varsa, eğer varsa (1) "pozitif tarafındaki" voltaj akımı iletir, bu nedenle diğer tarafta da voltaj olur, ancak negatif veya var olmayan bir voltaj (0) varsa açık devre gibi davranır. Birinci diyot anodu (+) "E" ve ikinci diyot anodu "F" olarak adlandırarak bu diyotların davranışını kontrol edelim ve çıktı onların bağlı katodu "X" olacaktır. EF] X 0 0] 0 0 1] 1 1 0] 1 1 1] 1 Bir VEYA GATE ile tamamen aynı davranışa sahip olduğumuzu görebilirsiniz ve sonra, Neden sadece diyotlar kullanmıyorsunuz, bu şekilde daha da fazla tasarruf edeceksiniz Entegre Devreler ve para?… Cevap basit ve bunu gerçekten göz önünde bulundurmalısınız, HER DIODE GERİLİM DÜŞÜYOR. Normalde 0,65V civarındadır. Nedenmiş? Her diyotun bağlantı noktasının yakınlaşması için anodu ve katotunda en az 0,6 V olması gerektiğinden, iletken olmaya başlayabilir. sadece ledleri açsaydık bu büyük bir problem olmazdı, ama TTL IC ile çalışıyoruz, bu da en az 2 V'tan fazlasına ihtiyacımız olduğu anlamına geliyor. Ve 5 v ile başladığımıza göre. Bu, 5 diyotu birbirine bağlamak anlamına geliyor (entegre devre 0v ile 2v'den küçük olanı ayırt edemez…) Bu yüzden her girişte 2'den fazla diyot kullanmadım… NOT: GND'ye bağlı bir direnç bağlamanız gerekir. her VEYA Kapısı girişi… İkinci sorunu çözmek için her ABCD'ye bir diyot ekledim ve 0 ve bunları birbirine bağladım, böylece bunlardan herhangi biri 1 olduğunda, "Press"(P) üzerinde 1'iniz olacak. Şimdi geriye kalan tek şey onu breadboard'unuza inşa etmek, ya da biraz daha yer kazanmak istiyorsanız benim yaptığım gibi yapabilirsiniz ve bir inşaat kağıdına delikler açıp diyotları lehimleyin ve düğmelere basın… Mantık Kapıları hakkında biraz daha bilgi: https://www.allaboutcircuits.com/vol_4/chpt_3/1.html Diyotlar hakkında daha fazla bilgiye ihtiyacınız varsa:

4. Adım: Ekranlar

görüntüler
görüntüler
görüntüler
görüntüler

Bu adım en kolay adımlardan biridir, yedi segmentli ekranı sürmek için sadece ABCD girişlerinin kodunu çözmemiz gerekiyor… Ve neyse ki zaten bizi tüm mantıktan, zamandan ve yerden kurtaracak bir entegre devre var.

Bir Ortak Anot ekranı kullanıyorsanız, bir 7447'ye ihtiyacınız olacaktır.

Bir Ortak Katot ekranı kullanıyorsanız, bir 7448'e ihtiyacınız olacaktır.

Kablolama aynı, yani her iki şekilde de benim şemamı kullanabilirsiniz.

Her IC için ABCD girişleri, her bir belleğin çıkışından gelir (bir sonraki adımda bellekleri gözden geçireceğiz)

Adım 5: Bellek

Hafıza
Hafıza
Hafıza
Hafıza
Hafıza
Hafıza
Hafıza
Hafıza

Bu, birleşimsel mantıktan, sıralı mantığa geçişimizdi… 4 bitlik(ABCD) bellek yapmak için her bit için bir D-Flip Flop'a ihtiyacımız var ve 74175'te bunlardan 4 tane var. Her numaranın ABCD'de temsil edildiğini unutmayın, böylece her 74175 bir numara kaydedebilir. D-flipflop'un nasıl çalıştığı ve bilgileri nasıl kaydettiği hakkında daha fazla bilgi için: https://en.wikipedia.org/wiki/D_flip_flop#D_flip-flop İlk iki belleğin girişi (Veri "D") ilk adımda oluşturduğumuz DEC'den BCD'ye kodlayıcıdan gelir. Eh, her birinin tutacağı bilgilere sahibiz, ama ne zaman kaydedecekler? Elbette biri ilk basılan sayıyı diğeri ise ikinci basılan sayıyı kaydedecek… Peki bu etkiyi nasıl elde edeceğiz? Peki başka bir tür FF (flip flop) ile JK, hem J hem de K girdileri yüksek olduğunda, çıktıların durumunu tümleyenine (olumsuz) değiştirecektir, başka bir deyişle, "Q" 1'e sahip olacağız, sonra 0, sonra tekrar 1, sonra 0 vb. Bu Q ve Q´, belleklerin saatidir (ne zaman yeni verileri kaydetmeleri gerektiğini söyleyecektir.) Bu değişikliğin ne zaman yapıldığını belirleyecek olan nabız, herhangi bir sayıya her bastığınızda yüksek olan "P" dir, ancak bilgileri zamanında kaydedin, tam tersine ihtiyacımız olacak, bu yüzden burada NOT GATE'i kullanıyoruz. Yani bir kez bir butona bastığımızda jk ff çıkışını değiştirecek, ilk hafızayı açacak, böylece verileri kaydedecek, sonra tekrar basacağız ve ilk hafıza kayıt durumu kapanacak, ancak ikinci hafıza yeni verileri kaydedecek! Bu noktada, her iki belleği (ABCD) 0'a döndürecek ve ekran seçiciyi (jk ff) ilk belleğe döndürecek bir sıfırlama düğmesi ekledim. JK FF hakkında daha fazla bilgi için: https://en.wikipedia.org/wiki/D_flip_flop#JK_flip-flop Şimdi… neden dört 74175'e ihtiyacımız olduğunu söyledim? Peki şifreyi kaydetmek için!! Dirençli şifreyi GND veya Vcc'ye ayarlamak mümkün olsa da, bu şifrenizi statik hale getirecek ve kilidinizi bir PCB'de yaptırırsanız değiştirilmesi imkansız olacaktır. Yani bir hafıza ile şifreyi kaydedebilir ve istediğiniz kadar değiştirebilirsiniz. Girişler, ekran belleğimizin çıkışları olacak, bu nedenle saatlerine pozitif bir darbe ulaştığında, ekranlardaki sayılar ne olursa olsun başa çıkacaksınız. (hem hafızalar hem de şifre hafızaları aynı bilgilere sahip olacaktır). Tabii ki "yeni şifre" darbesi, yalnızca zaten doğru şifreyi girdiyseniz ve kilidi açtıysanız geçerli olacaktır. Toplamda 2 Bayt veya 16 bitlik bir depolama kapasitemiz olacak!!

6. Adım: Karşılaştırma

karşılaştırma
karşılaştırma
karşılaştırma
karşılaştırma

Bu noktada bastığımız her rakamı bir ekrana sonra diğerine kaydedip bu bilgiyi şifre hafızalarına kopyalayabilen bir sistemimiz var… Hala esas olan Comparator'dan yoksun… ikisini karşılaştıracak bir devre (ABCD)) ekran hafızalarının iki (ABCD) şifre hafızası ile.. Yine, TTL ailesinden tüm kirli işi yapan bir IC zaten var, ancak yerel elektronik mağazamda mevcut değildi. Bu yüzden kendiminkini kurdum. Nasıl yaptığımı anlamak için XOR doğruluk tablosuna bakalım A a] X 0 0] 0 0 1] 1 1 0] 1 1 1] 0 A ve a aynı değere sahip olduğunda çıktının düşük olduğuna dikkat edin (0). Yani eğer farklılarsa çıktıda 1 olacak. Yani bir XOR Kapısı ile biri ekran belleğinin diğeri şifre belleğinin 2 bitini karşılaştırabilirsiniz. Buna dayanarak aşağıdaki devreyi kurdum, bunu kendi yolunuzla kurabileceğinizi unutmayın, çünkü burada dijital elektronikte aynı cevaba ulaşmanın birçok yolu vardır. Bu devre, ekran hafızalarının 8 bitini (XOR başına bir bit, diğer girişin şifre hafızası ile kullanılması gerekir) ve şifre hafızalarının 8 bitini (1 Byte karşılaştırıcısı) alır. Ve sadece bir çıktı verecek. eğer ve sadece her iki ekran hafızasındaki bilgiler şifre hafızalarındaki bilgilerle aynıysa, (0) düşük çıktımız olacaktır. Başka bir deyişle, her iki bellek kümesindeki bilgiler 1 bitte bile farklıysa, çıktı yüksek olacaktır (1).

Adım 7: Aç/Kapat

Aç kapa
Aç kapa
Aç kapa
Aç kapa
Aç kapa
Aç kapa
Aç kapa
Aç kapa

Sonunda son kısım, neredeyse bitirdik! Yakında herhangi bir cihazı kilitleyebilecek veya herhangi bir çiti elektriklendirebileceksiniz, (Lütfen yapmayın!) Şimdi, son bilgiyi alacağız ve bir düğme ile keseceğiz, böylece birisi yanlışlıkla doğru şifreyi yazarsa, kilit açılmıyor.(Bu düğmeye "giriş" dedim, gerçekten akıllıca, ha!,) Ve enter butonunun ardından RS mandalı gelecek, üzerinde 0 varsa Q'yu 1'e çevirebilen bir cihaz. R girişi yapın ve kaydedin ve S girişinde 0 varsa Q'dan 1'e. RS mandalı hakkında daha fazla bilgi için: https://en.wikipedia.org/wiki/D_flip_flop#SR_flip-flops "Q"yu kırmızı bir led'e bağladım, yani kilit veya kontrol edilen cihaz KAPALI. Ve "Q´", röleye onu döndürmek için yeterli akımı sağlayacak bir transistöre, kontrol edilen cihazı AÇIK konuma getirir. "Q´" bir basmalı butona bağlandı, (ki ben buna müstehcen sebeplerden dolayı yeni şifre butonu demiştim), bu butona bastığınızda Q' ile şifre hafızası için saat girişi arasındaki devreyi kapatacaksınız. Q´ Düşük (sistem kilitli) ise, düğmeye basıldığında şifre hafızasında hiçbir şey değişmeyecek, ancak Yüksek (sistem Açık) ise saat aktif olacak ve şifre hafızaları ekran hafızalarındaki bilgileri kopyalayacaktır. parola). Ve GND'ye ve bir basma düğmesine (kilit düğmesi) ve oradan S girişine bir direnç bağladı, böylece her bastığınızda sistemi kilitleyeceksiniz. Pekala, sırf bu amaç için bir RS flip flop satın alabilirken, 7476'mdan hala bir JK ff'm kaldı. Ve, R ve S girişleri eş zamanlı olmadığından, saat konusunda endişelenmemize gerek yok. Bu yüzden sadece şemada gösterildiği gibi kabloları bağlayın (benim yaptığım gibi) Röleyi AC'ye bağlarken dikkatli olun, yeterli izolasyon bandı kullanın.. Yüzlerce volt ile çalışırken kısa devre istemezsiniz! Her şeyi bir araya getirdikten sonra… sonunda bitirdik!!! Lütfen herhangi bir soru veya öneride bulunmaktan çekinmeyin, herhangi bir sorun veya hata fark ederseniz, bunu bildirmekten şüphe etmeyin. Yardım etmek için buradayım. İyi kilit, yani, o kilitle iyi şanslar.

Önerilen: