Bu yazıda, Arduino ile 4x4 tuş takımı (keypad) kullanarak şifre kontrolü yapmayı öğreneceğiz. Kullanıcı belirli bir şifreyi doğru girdiğinde yeşil LED yanacak, yanlış girişte ise kırmızı LED ile uyarı verilecektir. Ayrıca, girilen tuşlar seri monitörde görüntülenecektir.
Gerekli Malzemeler
- Arduino Uno (veya uyumlu bir model)
- 4x4 Tuş Takımı (Keypad)
- LED'ler (1 yeşil, 1 kırmızı)
- 220Ω Direnç (2 adet)
- Bağlantı Kabloları
- Breadboard
Devre Bağlantıları

4x4 Tuş Takımı
- ROW pinleri: Tuş takımının 4 sıra pini (R1, R2, R3, R4), Arduino'nun dijital pinlerine bağlanır (örn. 2, 3, 4, 5).
- COL pinleri: Tuş takımının 4 sütun pini (C1, C2, C3, C4), Arduino'nun diğer dijital pinlerine bağlanır (örn. 6, 7, 8, 9).
LED'ler
- Yeşil LED: Uzun bacağı (anot) Arduino'nun D10 pinine, kısa bacağı GND'ye bağlanır. Araya 220Ω direnç eklenir.
- Kırmızı LED: Uzun bacağı (anot) Arduino'nun D11 pinine, kısa bacağı GND'ye bağlanır. Araya 220Ω direnç eklenir.
Arduino Kodu
#include
const byte ROWS = 4;
const byte COLS = 4;
// Tuş takımındaki karakterlerin tanımlanması
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
// Sıra ve sütun pinlerinin tanımlanması
byte rowPins[ROWS] = {2, 3, 4, 5};
byte colPins[COLS] = {6, 7, 8, 9};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
String password = "1234"; // Doğru şifre
String input = ""; // Kullanıcı girişi
const int greenLED = 10; // Yeşil LED pini
const int redLED = 11; // Kırmızı LED pini
void setup() {
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
Serial.begin(9600);
}
void loop() {
char key = keypad.getKey();
if (key) {
Serial.print("Tus: ");
Serial.println(key);
if (key == '#') {
if (input == password) {
Serial.println("Sifre dogru! Kapi acildi.");
digitalWrite(greenLED, HIGH);
delay(3000);
digitalWrite(greenLED, LOW);
} else {
Serial.println("Sifre yanlis!");
digitalWrite(redLED, HIGH);
delay(3000);
digitalWrite(redLED, LOW);
}
input = ""; // Giriş sıfırlanır
} else if (key == '*') {
input = ""; // Girişi temizler
} else {
input += key; // Tuşu girişe ekler
}
}
}
Kod Açıklamaları
Tuş Takımı Tanımlaması
- Tuşların sırası ve sütunları
keysmatrisinde belirtilmiştir. rowPinsvecolPinsdeğişkenleri, Arduino'ya bağlı sıra ve sütun pinlerini ifade eder.
Şifre Kontrolü
- Kullanıcı tuşlara bastıkça,
inputdeğişkenine eklenir. #tuşuna basıldığında giriş kontrol edilir:- Şifre doğruysa yeşil LED yanar.
- Şifre yanlışsa kırmızı LED yanar.
*tuşuna basıldığında giriş sıfırlanır.
Görsel ve Seri Monitör Uyarıları
- Seri monitörde girilen tuşlar ve şifre doğruluğu görüntülenir.
- LED'ler, şifre doğruluğuna göre görsel uyarı verir.
Projenin çalışan örneğini görmek için tıklayınız.
Projenin Çalışma Prensibi
- Kullanıcı tuş takımında tuşlara basar ve giriş yapar.
- Girilen şifre, tanımlı şifreyle karşılaştırılır.
- Doğru şifre durumunda yeşil LED yanar ve kapı açıldığı simgelenir.
- Yanlış şifre durumunda kırmızı LED yanar ve uyarı verilir.
Kullanım Alanları
- Güvenlik Sistemleri: Kapı kilitleri ve erişim kontrolü.
- Menü Navigasyonu: Kullanıcı arayüzü üzerinden seçim yapma.
- Şifreli Kilit Sistemleri: Dolap, kasa veya kutular için şifreli kontrol.
Bu proje, Arduino ile tuş takımı kullanımını öğrenmek ve temel şifre kontrol sistemlerini geliştirmek için ideal bir başlangıçtır. Daha ileri seviyede, bu sistemi RFID veya biyometrik sensörlerle entegre ederek güvenliği artırabilirsiniz.

Bu Gönderiye Yorum Yapılmamış