Arduino
OKUDUĞUNUZ KONU
Arduino Lcd Ekranlı Şifreli Kilit Uygulaması
12

Arduino Lcd Ekranlı Şifreli Kilit Uygulaması

Yazar : Tunahan Tetik27 Haziran 2016

Arkadaşlar merhaba uzun zamandır epey bir uğraştığım proje var şifreli kilit projesi üzerinde çok çalışma yaptım ve lcd ekran ekleyerek bazı modifiyeler yaptım istediğiniz haneli şifre koyabilirsin lakin şifreyi usb sürücüsü ile pcden değiştirmeniz lazım onun haricinde sistemden şifre değiştiremezsiniz *-#-tarzında şifreler dahi koyabilirsiniz.

Aşağıdaki resimler ise projeye ait resimlerdir sizlerde bu tarzda telefon kutusuna muhafaza ederek dilediğiniz yerlerde kullanabilirsiniz bir diğer etkende;

keypad kullanırken 4*4 keypad kullanılması gerekmektedir.


// Tunahan Tetik Şifreli Kapu
#include <Password.h>
#include <Keypad.h>
#include <LiquidCrystal.h>

Password password = Password("1111"); // Şifre
int dlugosc = 4;

LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

int ledRed = 11;
int ledGreen = 12;
int buzzer = 13;

int ilosc; // number of clicks

const byte ROWS = 4; // rows
const byte COLS = 3; // cols

char keys[ROWS][COLS] =
{
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};

byte rowPins[ROWS] = {2,3,4,5};
byte colPins[COLS] = {6,7,8};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup()
{
Serial.begin(9600);
keypad.addEventListener(keypadEvent);
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(buzzer, OUTPUT);

digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, LOW);

lcd.begin(16, 2);

lcd.setCursor(1,0);
lcd.print(" :TUNAHANBEY:");
lcd.setCursor(0,1);
lcd.print(" SIFRENI GIRINIZ");
}

void loop()
{
keypad.getKey();
}
void keypadEvent(KeypadEvent eKey)
{
switch (keypad.getState())
{
case PRESSED:

int i;
for( i = 1; i <= 1; i++ )
{
digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
delay(50);
}

Serial.print("Pressed: ");
Serial.println(eKey);

switch (eKey)
{
/*
case '#':
break;

case '*':
break;
*/

default:
ilosc=ilosc+1;
password.append(eKey);
}
//Serial.println(ilosc);

if(ilosc == 1)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("*_");
}
if(ilosc == 2)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("**_");
}
if(ilosc == 3)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("***_");
}
if(ilosc == 4)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("****_");
}
if(ilosc == 5)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("*****_");
}
if(ilosc == 6)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("******_");
}
if(ilosc == 7)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("*******_");
}
if(ilosc == 8)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("********");
}

if(ilosc == dlugosc)
{
delay(250);
checkPassword();
ilosc = 0;
}
}
}

void checkPassword()
{
if (password.evaluate())
{
int i;
for( i = 1; i <= 2; i++ )
{
digitalWrite(buzzer, HIGH);
delay(70);
digitalWrite(buzzer, LOW);
delay(70);
}
ilosc = 0;

Serial.println("DOGRU");

digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(buzzer, HIGH);
delay(800);
digitalWrite(ledGreen, LOW);
digitalWrite(buzzer, LOW);

lcd.clear();
lcd.setCursor(0,1);
lcd.print("<<DOGRU GIRDIN>>");
delay(1000);
lcd.clear();
lcd.setCursor(1,0);
lcd.print(":TUNAHANBEY:");
lcd.setCursor(0,1);
lcd.print("SIFRENI GIRINIZ");
}
else
{
int i;
for( i = 1; i <= 1; i++ )
{
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
}
ilosc = 0;
password.reset();

Serial.println("YANLIS");


digitalWrite(ledRed, HIGH);
digitalWrite(buzzer, HIGH);
delay(800);
digitalWrite(ledRed, LOW);
digitalWrite(buzzer, LOW);

lcd.clear();
lcd.setCursor(0,1);
lcd.print("<<YANLIS GIRDIN>>");
delay(1000);

lcd.clear();
lcd.setCursor(1,0);
lcd.print(":TUNAHANBEY:");
lcd.setCursor(0,1);
lcd.print("SIFRENI GIRINIZ");
}
}

Saygılarımla tunahan Tetik

SİZCE NASIL OLMUŞ?
Beğendim
43%
İlginç
23%
Eh İşte
4%
Anlamadım
25%
Kötü
2%
Berbat
4%
YAZAR HAKKINDA
Tunahan Tetik
Tunahan Tetik
12 YORUMLAR
  • eren
    27 Haziran 2016 at 21:29

    eline sağlık başarılı proje teşekkür ediyorum yanlız motor bağlantısını göremedim burada yada tetikleyen birşey

  • Ulaş
    28 Haziran 2016 at 15:04

    tetikleme ile nasıl bir şey yapılabilir gyet b aşarılı fakat tetiklemeyi açma veya kapamayayı ne yapacak onuda tarif etseniz harika zaten yaptım ama aklıma gelmedi 😀

  • kemal
    30 Haziran 2016 at 01:55

    tetikleyenden kastın kapı mekanizmasına giden çıkış galiba. arkadaş burda yeşil ledi çıkış yapmış. lede giden artı uctan paralel baglantı yaparak istediğin devreyi tetikleyebilirsin. blog yazarlarının genel sıkıntısı o kadar emek verip sonra bloglarına bakmamaları.

  • Gültekin
    15 Temmuz 2016 at 11:12

    Elinize sağlık.

  • ismail secim
    22 Aralık 2016 at 12:33

    Öncelikle başarılı çalışma ama ben kodları arduinoya yapıştırıyorum hata alıyorum yardımcı olurmusunuz lütfen ?

    • ismail can barış
      5 Ocak 2017 at 00:21

      ısmaıl kardeşim
      Password.h>

      l dosyalarını zıp olarak ınternetten indir( taslak – library ekle -zip kitablıgı ekleden ındırdıgınız programları library kutubhanesıne ekleyın) hata ortadan kalkacaktır (ismailcan1619@gmail.com)

  • Baha
    13 Ocak 2017 at 20:46

    Kardeş servo baglicam A ya basınca servonun bi yöne dönmesini istiyorum ama olmuyor bu yardiam lütfen şifre doğru olduğunda bi yöne cevirebiliyorum

  • musa y
    16 Ocak 2017 at 20:06

    pot un direnci kac ohm

  • sibel
    12 Nisan 2017 at 13:17

    Merhaba,
    Projeyi çalıştırdık ancak şöyle bir problem var Doğru şifreyi ilk kez girdiğimizde doğru algılıyor ancak doğru şifrenin üzerine bir kez daha doğru şifreyi girince yanlış algılıyor. Bunun sebebi nedir biz çözemedik.

  • Ümit Bıöak
    29 Nisan 2017 at 11:17

    Password kısmında hata veriyor arduinoys atarken

  • DURSUN ATAR
    25 Mayıs 2017 at 17:58

    Selamın aleyküm kardeşim başta password hatası veriyordu o hata gitti ama şimdi de keypad.h hatası veriyor nasıl düzeltebilirim yardımcı olursanız sevinirim

  • Hakan engin
    18 Haziran 2017 at 23:39

    selamın aleyküm yaptım bu projeyi oldu ancak tekrar şifre yazınca kırmızı ışık yanıyor ben buna kontak bağladım yani şifre girdikten sonra konum değişiyor daha sonra eski konumuna geçmiyor eski konumuna geçmesi için tekrar şifre girmek gerekiyor bunu 10 saniye sonra eski konumuna gelicek şekilde yaparmısınız
    yada bu yoruma nasıl yapmam gerektiğini cevap verirseniz çok sevinirim

YORUM YAP