- Bileşenlerin listesi
- Arduino Tuş Takımı Kapı Kilidi için Devre Şeması
- Dijital Tuş Takımı Kapı Kilidi için Arduino Kodu
- Arduino Tuş Takımı Kapı Kilidi Montajı ve Testi
Çoğu zaman, evimizde veya ofisimizde bir oda (belki de gizli bir dexter laboratuvarı) sağlamamız gerekir, böylece kimse odaya iznimiz olmadan erişemez ve önemli aksesuarlarımızın ve varlıklarımızın çalınmasına veya kaybolmasına karşı koruma sağlar. Günümüzde pek çok güvenlik sistemi türü var ancak sahne arkasında kimlik doğrulama için hepsi parmak izi, retina tarayıcı, iris tarayıcı, yüz kimliği, dil tarayıcı, RFID okuyucu, şifre, pim, desenler vb. düşük maliyetli olan ise şifre veya pin tabanlı sistem kullanmaktır. Bu yüzden, bu projede, dijital bir şifre ile güvenlik altına almak için mevcut kapılarınızdan herhangi birine monte edilebilen bir Arduino Tuş Takımı Kapı Kilidi yaptım. Daha önce, aşağıda listelenen diğer ilginç kapı kilitlerini de yaptık.
- Arduino RFID Kapı Kilidi
- Arduino Solenoid Kapı Kilidi
- Raspberry Pi Dijital Kod Kilidi
- 555 Zamanlayıcılı elektronik Kapı kilidi
Şifreli kapı kilitleme projemizi oluşturmadan önce, önce gerekli bileşenleri toplamamız ve ardından devam edip adım adım inşa sürecini takip etmemiz gerekiyor.
Bileşenlerin listesi
- Atmega 328p Mikrodenetleyiciyi kullanan Arduino Uno / Pro / Mini veya Özel kart
- 16 x 2 LCD (Sıvı Kristal Ekran)
- Arduino için 4 x 3 veya 4 x 4 matris tuş takımı
- Servo motor
- 3D baskılı kapı dolabı / özel kapı dolabı
- 1 Amp 5 Volt mobil şarj cihazının güç kaynağı için ek bileşenler
- 4 '' / 6 '' plastik kutular, jumper teller, somun cıvatalar, plastik kasa vb.
Arduino Tuş Takımı Kapı Kilidi için Devre Şeması
Arduino tabanlı Dijital Tuş Takımı Kapı Kilidi projemiz için Komple devre şeması aşağıda gösterilmiştir.
Öncelikle Arduino UNO kartı olan bu projenin beyninden başlıyoruz. Arduino kartı bir LCD ve bir servo motora bağlıdır. Servo motor, kapı üzerindeki mandalı itmek (kilitlemek) veya çekmek (kilidini açmak) için kullanılır. Mesajı Arduino ile görüntülemek için 16 x 2 LCD gereklidir, 16 x 2, 16 sütun ve 2 satır olduğu anlamına gelir. 16x2 LCD Ekran Modüllerinde tamamen yeniyseniz, daha fazla bilgi edinmek için bu Arduino LCD Arayüz eğitimine göz atabilirsiniz.
Burada, özelleştirilmiş kapı dolabımızı yapmak için 5v Towerpro SG90 servo motor kullanıyorum. Temel seviyede bir servo motordur ve herhangi bir sürüş devresi veya harici modül olmadan Arduino ile iyi çalışır. Ayrıca, bu servo motorun maliyeti çok daha azdır, bu nedenle kolayca satın alabilirsiniz. Servo motor ve nasıl çalıştığı hakkında daha fazla bilgi edinmek için bu Arduino Servo Motor Kontrolü eğitimine de göz atabilirsiniz. Servo motoru Arduino Digital pin D9 ve 5 volt güç kaynağı ile bağlayın. Bu servo motorun toplam 3 giriş hattı vardır (GND, + 5V & SIGNAL LINE).
Bu projede bir 4 x 4 matris tuş takımı kullandım (ancak 4 x 4 tuş takımı kısmı bu grafiksel gösterimi yapmak için kullanılamaz), ama endişelenmeyin çünkü 4 x 3 Matrix tuş takımı da kodlamamla iyi çalışıyor. Şifre girişi için bir tuş takımına ihtiyacımız var ve özelleştirilmiş kapı dolabımızı manuel olarak kilitliyoruz. Bir tuşa basıldığında 16 tuş (soft switch) 4 tuş (R1, R2, R3, R4) ve Sütunlarda (C1, C2, C3, C4) 4 tuştan oluşur, ilgili satırlar arasında bağlantı kurar ve sütunlar. Aşağıdaki tablo Arduino'nuzu Keypad ile nasıl bağlayacağınızı gösterir.
Klavye | Arduino |
Pin 1 (sıra 1) | Dijital Pin1 |
Pin 2 (sıra 2) | Dijital Pin 2 |
Pin 3 (sıra 3) | Dijital pim 3 |
Pin 4 (sıra 4) | Dijital pim 4 |
Pin 5 (sütunlar 5) | Dijital pim 5 |
Pin 6 (sütunlar 6) | Dijital pim 6 |
Pin 7 (sütunlar 7) | Dijital pim 7 |
Dijital Tuş Takımı Kapı Kilidi için Arduino Kodu
Tam Arduino Kapı Kilit Kodu bu sayfanın alt kısmında bulunabilir. Kodu doğrudan yükleyebilirsiniz, ancak kodun nasıl çalıştığını anlamak için aşağıdaki paragrafları okumanız önerilir. Ayrıca, kodu başarıyla derlemek için Arduino IDE'nize aşağıdaki tuş takımı kitaplığını eklediğinizden emin olmanız önemlidir. Bunu yapmak için aşağıdaki bağlantıyı açmanız ve ZIP dosyasını indirmeniz yeterlidir. Ardından Arduino IDE'nizde Sketch -> Include Library -> Add.ZIP Library'ye gidin ve yeni indirdiğiniz dosyaya göz atın.
- Arduino Tuş Takımı Kütüphanesi
Tüm başlık ve kitaplık dosyalarını ekledikten sonra, LCD için tüm pinleri atayın ve parola uzunluğunu tanımlayın ve servonun başlangıç konumunu 0 olarak ayarlayın. Bundan sonra, onu tutabilecek numarayı açıklamak için bir "char" veri türü alın. boş karakter.
//#Dahil etmek
Bu kod parçasıyla (char Master = "123456";) - Char Master altında, kapı kilidinin şifresini bildiriyorum, sonra klavyedeki satır ve sütun sayısını atadım ve ayrıca keyMap'leri açıklayıp satırlara ve sütunlar. Boşluk ayarı altında, servo sinyal pini D9'u başlatın, servo durumu kapalı ve projenin / cihazın / şirketin adını 3 saniye gecikmeyle cihazı çalıştırırken LCD'ye yazdırın.
geçersiz kurulum () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Arduino Kapısı"); lcd.setCursor (0, 1); lcd.print ("- Projeye bak--"); gecikme (3000); lcd.clear (); }
Döngü işlevinin altında, basit if-else koşulu vardır. Duruma göre (otomatik olarak kilitlenir), 3 saniye gecikmeyle "Kapı kapalı" yazdırın ve kapama konumuna servo döndürün, kapı verileri 1 olarak sayılır, aksi takdirde kapı kilidi açık kalır ve veri sayılır 0, servo açık konuma döndürme 0 olur 180 dereceye kadar ve kapatmak için 180'den 0'a gider. Servo açma ve servo kapama fonksiyonları aşağıda gösterilmiştir.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// 0 dereceden 180 dereceye gider // 1 derecelik adımlarla myservo.write (pos); // servo'ya değişken 'konum' gecikmesinde (15) pozisyona gitmesini söyle; // servonun pozisyona ulaşması için 15ms bekler}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// 180 dereceden 0 dereceye gider myservo.write (pos); // servo'ya değişken 'konum' gecikmesinde (15) konuma gitmesini söyle; // servonun konuma ulaşması için 15 ms bekler}}
Servo konumuna ulaşmak için servonun konumunu 15 saniye gecikmeyle yazın. Boşluk açma işlevi altında, LCD “Şifre Girin” üzerine yazdırın, ardından koşul, girilen şifrenin özel anahtarla aynı olması gerektiğini belirtir, bu gövde verileri içinde sayılır ve karakter veri dizisine kaydedilir, artırılır ve LCD'de yazdırılırsa giriş şifresi yazdırılır. veri uzunluğu (anahtar sayısı) ve giriş şifresi Data Master ile eşleşir (önceden tanımlanmış anahtarların bulunduğu yerde). Ardından bir işlem LCD ekranı temizlenirken, servo sürücü, "Kapı açık" LCD ekranına yazdırın ve veri sayacı sıfırlanır.
Giriş tuşu Data Master ile uyuşmuyorsa, LCD'de bir işlem olarak LCD'de “Yanlış Şifre” yazdırılır ve 1 saniye gecikmeyle bildirim yapılır ve veri sayacı 1'e ayarlandığında kilit konumunda kalır ve bu işleme bir döngü içinde devam edilir..
if (data_count == Password_Lenght - 1) // dizi indeksi beklenen karakter sayısına eşitse, verileri ana ile karşılaştırın {if (! strcmp (Veri, Ana)) // eşittir (strcmp (Veri, Ana) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Kapı Açık"); kapı = 0; } else {lcd.clear (); lcd.print ("Yanlış Şifre"); gecikme (1000); kapı = 1; } net veriler(); }
Arduino Tuş Takımı Kapı Kilidi Montajı ve Testi
Şimdi, her şeyi 4 inç / 6 inçlik bir plastik kutuya yerleştirin ve bir mobil şarj cihazıyla çalıştırın, kasayı kullanarak her şeyi güzelce sıralayın. İdeal olarak, kilidimi monte etmek için 3D baskıyı kullanabilirdim, ancak dosyalarımı tasarladıktan sonra, 3D baskının çok maliyetli olduğunu fark ettim, bu yüzden önce servoyu sabitledim, ardından normal sürgülü dolabımı servo ile metal plaka kullanarak bağladım iyi çalışmasına rağmen cam elyafı ile daha az güvenlidir.
Daha fazla güvenlik istiyorsanız, bu servo ile dahili olarak çalışan bir 3B kapı kilidi modeli yazdırmanız gerekir. Gerekli STL dosyalarını aşağıdaki bağlantıdan indirebilir ve bir 3D yazıcıya erişiminiz varsa bunları 3D olarak yazdırabilirsiniz.
3D Baskı için STL dosyalarını indirin
Tasarım dosyaları da aşağıdaki resimde gösterilmektedir.
Projenin başlangıcında, ilk kez çalıştırdığımız anda, ticari bir cihaz gibi akıllı ve özel görünmesi için proje adını (şirket adını da görüntüleyebilirsiniz) vermemiz gerekir (görebileceğiniz gibi) aşağıdaki resim).
İle gecikme 3 saniye hızla kapıyı kilitleyip doğrudan aşağıda verilen resimde gösterildiği gibi kapı kilidinin durumu için ekranı kontrol edin.
Kapıyı "#" tuşuna basarak manuel olarak kilitlediğinizde, önce Kapının 1 saniye kapalı olduğunu ve ardından Şifre Girin gösterir. Öte yandan doğru şifre girilerek kapı kilidi açıldığında Kapı Açık gösterir.
Kapı kilit açma durumunda kalırsa, - Kodlamaya göre kapıyı manuel olarak kilitlediğiniz sürece Kapı açık mesajı görüntülenir. Kodu verdim ve gerektiğinde kod görüntüleme parametresini değiştirerek ayarları özelleştirebilirsiniz. Ayrıca, bu sayfanın alt kısmında bağlantısı verilen video ile tam çalışmayı da kontrol edebilirsiniz.