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
IOS 15'in 10 yeni özelliği
Yazıyı Oku

IOS 15'in 10 yeni özelliği

WEBP dosyalarını Adobe Photoshop ile açma, oluşturma
Yazıyı Oku

WEBP dosyalarını Adobe Photoshop ile açma, oluşturma

Windows 10 için ücretsiz Windows File Recovery programı
Yazıyı Oku

Windows 10 için ücretsiz Windows File Recovery programı

Arduino uzaktan kumanda ve IR receiver ile servo motor kontrolü
Yazıyı Oku

Arduino uzaktan kumanda ve IR receiver ile servo motor kontrolü

Arduino LCD ekranda kayan yazı yapalım
Yazıyı Oku

Arduino LCD ekranda kayan yazı yapalım

Arduino engelden kaçan araba yapımı
Yazıyı Oku

Arduino engelden kaçan araba yapımı

Menu