Bu yazımızda Arduino ile Keypad kullunımına değineceğiz. ilk önce aşağıdaki Keypad resmini bir inceleyelim.
Yukarıda 4*4 biçiminde bir keypad resmi görüyoruz. Biz kodumuz içerisinde bu tuş takımlarını bu şekilde kodlayacağız. Ancak kod üzerinde değişiklikler yaparak 1 rakamına bastığımızda Z harfi, A harfine bastığımızda 0 rakamı vb. yazdırabiliriz. İlk önce aşağıdaki bağlantı şemasını inceleyelim. sorasında bu bağlantıların ne işe yaradığına değineceğiz.
Yukarıda bağlantı şemamızı görmektesiniz. 4*4 keypad bağlantısı için 8 adet pin bulunmaktadır. Keypadimizi görseldeki gibi düz tuttuktan sonra, ilk pinimizi dijital 9. pine, diğerlerini de sırasıyla 2. pine kadar takıyoruz. Buradaki pinlerden ilk 4 tanesi satır pinlerine karşılık gelmekteyken, diğer 4 pin sırasıyla sütun pinlerine karşılık gelmektedir. Eğer sizin keypadiniz 4*3 formatındaysa, yani 4 satır ve 3 sütuna sahipse bu durumda üzerinde 7 pin olacak ve 4. sütun olmadığı için bağlantı şemamızda 2. pin bağlantısı boşa düşecektir. Harflerin olduğu sütun görünmeyecektir. Bu arada ufak bir hatırlatma yapalım, piyasada biribirinden çok farklı görünümlere sahip keypad tasarımları mevcuttur ve hepsi aynı çalışma mantığına sahip olduğu için aynı yukarıdaki şema ve birazdan açıklayacak olduğum kod yardımıyla kullanılabilmektedir. Tabiki kodumuzun doğru çalışması ve hata vermemesi için öncesinle Keypad.h kütüphanemizi de yüklememiz gerekmektedir.
Kütüphaneyi indirmek için tıklayınız.
Kütüphanemizi indirip, aşağıdaki kodu yüklediğimizde Keypad kullanımını temel işleviyle öğrenmiş olacağız. Kodların sonunda açıklama satırı olarak işlevleri anlatılmıştır. Bir sonraki yazımızda Keypad kullanarak servo motor kontrol edeceğiz ve kendimize şifreli güvenlikle korunan özel kutu yapımına değineceğiz.
#include <Keypad.h> // Kullanacak olduğumuz kütüphaneyi belirtiyoruz. const byte satirSayisi= 4; const byte sutunSayisi= 4; char tuslar[satirSayisi][sutunSayisi]= { {'1', '2', '3', 'A'}, // 1. Satır karakterleri Buradaki karakterleri değiştirerek tuşlara bastığımızda daha farklı karakterler yazdırabiliriz. {'4', '5', '6', 'B'}, // 2. Satır karakterleri {'7', '8', '9', 'C'}, // 3. Satır karakterleri {'*', '0', '#', 'D'} // 4. Satır karakterleri }; byte satirPinleri[satirSayisi] = {9,8,7,6}; // Satır pinlerimizi taımlıyoruz. İstersek 13-12-11-10 şeklinde yazabilir ve bağlantılarımız bu şekilde de yapabiliriz. byte sutunPinleri[sutunSayisi]= {5,4,3,2}; // Sütun pinlerimizi tanımlıyoruz. yukarıdaki satırdaki açıklama burada da aynen geçerlidir. Keypad tusTakimi= Keypad(makeKeymap(tuslar), satirPinleri, sutunPinleri, satirSayisi, sutunSayisi); void setup(){ Serial.begin(9600); } void loop(){ char basilanTus = tusTakimi.getKey(); if (basilanTus != NO_KEY){ Serial.print(basilanTus); // Arduinomuz IDE programımızda "Araçlar >> Seri Port Ekranı" seçeneğimize tıkladıktan // sonra keypad üzerinden yaptığımız girişler bu ekranda görülecektir. } }
Son yorumlar