Arduino 4×4 Keypad İle Parola Sistemi

Bir önceki yazımızda keypad kullanımına değinmiştik keypad görünce hepimizin aklına parola sistemi gelişmiştir. Keypad parola sistemiyle ne yapabiliriz diye bakacak olursak şifreli kapılar aklımıza gelir şifreyi girdiğimizde kapı açılır aksi halde açılmaz evet yapacağımız örnekte tam olarak bu şekilde C++ da yaptığımız gibi soru cevap şeklinde bir örnek yapalım.

SORU:

Akıllı ev sistemi dizayn etmek istiyorsunuz çeşitli sensörler kullanarak sistemi tasarlamaya başladınız ve aklınıza şifreli kapılar geldi. Sizde aldığınız bir keypad kullanarak bir şifre sistemi yapmaya karar verdiniz. İstediğiniz özellikler

Sistem 3 hak verecek başarısız olursa birdaha giriş kabul etmeyecek

Şifre 4 haneli olacak

Şifre doğru olduğunda tekrar bir giriş kabul etmeyip şifrenin doğru olduğunu yazacak

CEVAP:

#include <Keypad.h>
const byte ROWS = 4;
int i;
int j;
int dogruluk;
char sifre[4];
char asil[4] = {'1','2','3','4'};
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
  {'0','1','2','3'},
  {'4','5','6','7'},
  {'8','9','A','B'},
  {'C','D','E','F'}
};
byte rowPins[ROWS] = {5, 4, 3, 2};
byte colPins[COLS] = {9, 8, 7, 6};
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 
void setup(){
  Serial.begin(9600);
  baslangic:
  dogruluk=0;
  i=0;
   Serial.println("Lutfen 4 haneli sifrenizi giriniz=");
  while(i<=3)
  {
  char customKey = customKeypad.getKey();
  if (customKey){
  sifre[i]=customKey;
  Serial.println(sifre[i]);
  i=i+1;
  }
  }
  Serial.println("Sifre kontrol ediliyor...");
  while(j<3)
  {
  for(i=0;i<4;i++){
  if(sifre[i]!=asil[i])
  {
    int dogruluk=0;
  }
  else
  {
    dogruluk=dogruluk+1;
  }
  }
  if(dogruluk==4)
  {
    Serial.println("Sifreniz dogru tesekkurler");
    break;
  }
  else
  {
    Serial.println("Sifreniz hatali tekrar deneyin...");
    j=j+1;
    if(j<3){
    goto baslangic;
    }
  }
  }
  if(dogruluk!=4){
      Serial.println("Sifre girisiniz kisitlanmistir. Lutfen yoneticiye basvurun...");
  }

}
void loop(){
 
}

Kodların açıklamasını yapmayacağım arkadaşlar biraz kendiniz kurcalamanız tek tek incelemeniz sizler için daha yararlı olacaktır. Eğer anlamadığınız bir yer olursa yorumlarda anlatabilirim

Sizin kendi yazdığınız koddan farklı olabilir neticede her yazarın bir kod yazışı vardır 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir