Ana içeriğe atla

Keypad Nedir? Nasıl Kullanılır?

 


KEYPAD NEDİR? NASIL ÇALIŞIR?

Keypadler kapı kilidi, atm, hesap makinesi, güvenlik sistemleri , asansör gibi bir çok cihazda yaygın olarak kullanılmaktadır. Keypad’teki tuşlar satır ve sütun halinde düzenlenmiştir. 4X4 tuş takımında 4 satır ve 4 sütun vardır.



Aşağıdaki şekle dikkat edilirse bir butona basıldığında o butonun bulunduğu satır ve sütunlara ait uçların birbirleriyle bağlandıkları görülür.



Örneğin 6 tuşuna basıldığında 2. satır ve 3. sütun birbirine bağlanır veya ‘2’ tuşuna basıldığında 1. satır ile 2. sütuna ait uçlar birbirlerine bağlanır. 

8 tane iki uçlu jumper kablomuzu alalım. Ardından sırasıyla soldan başlayarak kablolarımızı keypad'e yerleştirelim.


Bu prensipten faydalanılarak mikrodenetleyiciler satır ve sütunlara bağlı olan pinlerini sürekli kontrol eder. Bu sayede tuş takımından basılan tuşlar mikrodenetleyici tarafından algılanarak işleme tabi tutulabilir. Artık keypad hakkında gerekli her şeyi bildiğimize göre, onu Arduino ya bağlamaya başlayabiliriz. Ama önce yapacaklarımızı özetleyelim. 1 adım devremizi oluşturmak, 2. adım  gerekli kütphaneyi indirmek, 3.adım kodlarımızı yazmaya başlamak! 

Keypad' in 1. pinini arduino'daki dijital pin 9'a bağlayalım. Sonra diğer pinlerimizi sırasıyla arduino üzerinde 8,7,6,5,4,3 ve 2. pinlere bağlayalım.

KÜTÜPHANEYİ İNDİRELİM 

Keypad için gerekli kütüphaneyi buraya tıklayarak indirebilirsiniz. 

KODLARIMIZ

#include <Keypad.h>

const byte rows = 4; 
const byte cols = 4; 

char keys[4][4] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowpins[4] = {9, 8, 7, 6}; 
byte colpins[4] = {5, 4, 3, 2}; 


Keypad keypad = Keypad( makeKeymap(keys), rowpins, colpins, rows,cols );

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char key = keypad.getKey();
  
 
  if (key){
    Serial.print("tuşa basıldı : ");
    Serial.println(key);
  }
}

Yorumlar

Bu blogdaki popüler yayınlar

#9 | Lazerli Güvenlik Sistemi Nasıl Yapılır?

  Odanız için basit bir lazerli güvenlik sistemi kurmak ister misiniz? Şimdiye kadar öğrendiğimiz kod yapıları ve sensörleri kullanarak çok rahat tasarlayabilirsin. Lazer ışığının algılanabilmesi için LDR kullandım. LDR lazer ışığını alamadığında yani lazerin önünde bir şey geçtiğinde Arduino buna tepki verecektir. Böylece kapıdan birinin girip girmediğini anlayabilirsiniz. Daha önceden de öğrendiğimiz gibi LDR ışığın şiddetiyle değişen bir dirençtir. LDR çıkışı Arduino'nun analog girişine bağlanmıştır. Arduino analog girişini sürekli kontrol etmelidir. Eğer analog girişin değeri belirli bir değerin altına düşer ise Arduino, lazer ışığı ile LDR arasından bir şey geçtiğini anlayacaktır. DEVRE KODLAR int led = 4 ; int buzzer = 5 ; int ldr = A4 ; void setup ( ) {   Serial . begin ( 9600 ) ;   pinMode ( led , OUTPUT ) ;   pinMode ( buzzer , OUTPUT ) ; } void loop ( ) {   int ldrdeger = analogRead ( ldr ) ;   Serial . println ( ldrdeger...

# 11 | Joystick ile 2 Servo Motor Kontrolü

Servo Motor Nedir? Nasıl Çalışır? Yapı olarak dc veya ac motor tiplerine benzeseler de bu sistemlere ek olarak iç yapısında bir potansiyometre ve motor milinin konumunu ölçen bir kontrol devresi bulunur. Ayrıca servo motor 3 bağlantı ucuna sahiptir. GND(toprak), 5V, Sinyal pinleri.  Bunlardan ikisi motoru çalıştırırken diğer ucu ise sistemin giriş birimine motor şaftının konumunu bildirir. DC Servo Motor DC Servo motorun içerisinde bir adet dc motor bulunmasından dolayı dc servo motor ismini almıştır. Fakat dc motora ek olarak bir kontrol devresi ve çıkışında mil görevi gören bir potansiyometre ile dc motorun milini kontrol eder. Potansiyometre Dönme momentine göre lineer bir direnç artışına sebep olur. Bu özelliğinden faydalanılarak potansiyometrenin o anki direnç değerine göre servo motorun anlık konumu belirlenir. Tüm bu işlemleri yapan kısım ise dc servo motorda kontrol devresi olarak anılır. Kontrol Devresi Potansiyometrenin direnç değerine göre servo motorun o an hangi a...