Bir tuş takımını giriş sistemi olarak kullanarak Arduino ile giriş sistemi yapalım.

Arduino ile keypadli giriş sistemi yapımı

Proje için gerekli malzemeler

  • Arduino board
  • Breadboard
  • Jumper kablolar
  • Tower Pro SG90 9g Servo
  • Yeşil ve Kırmızı LED
  • 4×4 Membrane keypad
  • 2 adet direnç ( 220 ohm)

Gerekli olan kütüphaneler

  • Keypad
  • Servo
  • Password

Nasıl Çalışır ?

Bir tuş takımı temelde hangi tuşa basıldığına bağlı olarak bir sayı ya da karakter veren bir tuş dizisidir. Tuş takımı yukarı bakacak şekilde, teller soldan sağa 1 ile 8 arasında numaralandırılmıştır. İlk dört tel sıralara karşılık gelir ve son dört sütunlara karşılık gelir.

Kapı kilit sistemi oluşturmak için bu tuş takımını bir servoya ve bazı LED'lere bağlayacağız. Kilidi kullanmak için kodunuzu girin ve onaylamak için yıldız işaretine (*) basın. Kod program içerisinde tanımlanan parola ile eşleşirse, yeşil LED yanıp sönecek ve servo 90 derece hareket edecektir. Kod yanlışsa, kırmızı LED yanıp söner. Kod girişleri arasında sıfırlama yapmak için kare tuşunu (#) kullanın.

Bu servoyu, kapıdaki daha ağır bir sürgü kilidini açabilen veya dışarıdan monte edilmiş tuş takımı ve LED'ler ile bir kutuyu içeriden kilitleyip açabilen daha uygun bir servo motor ile değiştirebilirsiniz.

Aşağıdaki kod bloğunu keypad aygıtını test etmek için kullanacağız. Keypad üzerinde bulunan her bir tuşun çalışıp çalışmadığını anlamış olacağız.

#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {2,3,4,5};
byte colPins[COLS] = {6,7,8,9};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins,ROWS, COLS);

void setup() {
Serial.begin(9600); }

void loop() {
char key = keypad.getKey();
if (key != NO_KEY){
Serial.println(key);  }
}

Devre Şeması

Arduino IDE Kodları

İlk önce program, Tuş Takımı, Servo ve Şifre kütüphanelerini çağırır. Servo kütüphanesi IDE'ye dahil edilmiştir, ancak Tuş Takımı ve Şifre kütüphanelerini indirmeniz gereklidir. Ardından tuş takımından veri girişini sağlayan sekiz pini ve LED'leri kontrol etmek için Arduino pinleri 11 ve 12'yi ve servo motoru kontrol etmek için pini 13 olarak ayarladık. Arduino, tuşlar ile kod girişi yapmanızı ve girişinizi * ile onaylamanızı bekler. Yıldız tuşuna bastığınızda, program koddaki şifreye göre girişi kontrol edecektir. Giriş şifreyle eşleşmezse, kırmızı LED HIGH olacak ve yanacak; giriş şifreyle eşleşirse yeşil LED HIGH olacak ve yanacak ve servo motor dönecektir. # Tuşuna basıldığında program sıfırlanır, böylece başka bir giriş için hazır olur.

Password tanımlama satırını kullanarak istediğiniz şifreyi belirleyebilirsiniz: Password password = Password("2468");

#include <Password.h>
#include <Keypad.h>
#include <Servo.h>

Servo myservo;
Password password = Password("2468");
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

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

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

void setup() {
Serial.begin(9600);
delay(200);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
myservo.attach(13);
keypad.addEventListener(keypadEvent);
}

void loop() {
keypad.getKey();
myservo.write(0);
}

void keypadEvent(KeypadEvent eKey) {
switch (keypad.getState()) {
case PRESSED:
    Serial.print("Basıldı: ");
    Serial.println(eKey);

switch (eKey) {
    case '*': checkPassword(); 
    break;
    case '#': password.reset();
    break;
    default: password.append(eKey);
    }
}
}

void checkPassword() {
if (password.evaluate() ){
   Serial.println("Şifre doğru.");
   myservo.write(90);
   digitalWrite(11, HIGH);
   delay(500);
   digitalWrite(11, LOW);  }
else {
   Serial.println("Şifre yanlış.");
   myservo.write(0);
   digitalWrite(12, HIGH);
   delay(500);
   digitalWrite(12, LOW);
}
}
  • Yazı Etiketleri :
  • arduino keypad kullanımı
  • arduino şifreli giriş sistemi
Arduino nem ve sıcaklık değerini lcd ekrana yazdıralım
Yazıyı Oku

Arduino nem ve sıcaklık değerini lcd ekrana yazdıralım

Arduino hareket sensörü alarmı yapımı
Yazıyı Oku

Arduino hareket sensörü alarmı yapımı

Arduino iki butonla iki led kontrolü (mblock 5)
Yazıyı Oku

Arduino iki butonla iki led kontrolü (mblock 5)

Arduino davetsiz misafiri haber veren proje (hc-sr04)
Yazıyı Oku

Arduino davetsiz misafiri haber veren proje (hc-sr04)

Arduino robot kol yapalım, joystickle hareket ettirelim
Yazıyı Oku

Arduino robot kol yapalım, joystickle hareket ettirelim

Arduino joystickle servo motoru hareket ettirelim
Yazıyı Oku

Arduino joystickle servo motoru hareket ettirelim

Menu