Bu eğitim şunun parçasıdır: Tuş takımları
Tuş takımıyla ilgili tüm videolar burada listelenmiştir.
Dört Tuşlu Tuş Takımı için Arduino Kodu ve Video
Bu eğitimde, Arduino ile dört tuşlu bir tuş takımını nasıl kullanacağımızı öğreneceğiz. Bu proje, birden fazla butona ihtiyaç duyduğunuz ancak kullanılan kablo sayısını en aza indirmek istediğiniz uygulamalar için özellikle kullanışlıdır. Tuş takımını belirli bir şekilde bağlayarak, sekiz kablo yerine sadece beş kablo ile işlevsel bir kurulum elde edebiliriz.

Dört tuşlu tuş takımı, toplam kablo sayısını azaltan ortak bir bağlantıya sahip olduğu için kablo bağlantı sürecini basitleştirir. Her tuş, Arduino'ya belirlenmiş pinler üzerinden bağlanarak kolay etkileşim ve kontrol sağlar. Bu kılavuz, tuş takımının kablo bağlantısını, kodunu ve beklenen davranışını kapsayacaktır; böylece projeyi başarıyla tekrarlayabilirsiniz (videoda 02:30'da).
Donanım Açıklaması
Bu projenin ana bileşenleri dört tuşlu bir tuş takımı ve bir Arduino kartıdır. Tuş takımı dört buton içerir ve her buton Arduino'ya iki kablo ile bağlanır: biri ortak kablo, diğeri her buton için özel bir kablo. Bu kurulum, karmaşıklığı en aza indirirken basit bağlantılara olanak tanır.
Arduino, buton basımlarını dijital girişler kullanarak yorumlar ve stabil okumalar sağlamak için dahili pull-up dirençlerine güvenir. Bir butona basıldığında, ilgili pini toprağa bağlar ve Arduino'nun durum değişikliğini algılamasını sağlar.
Veri Sayfası Detayları
| Üretici | Jenerik |
|---|---|
| Parça numarası | 4 Tuşlu Tuş Takımı |
| Mantık/IO voltajı | 5 V |
| Besleme voltajı | 5 V |
| Tuş sayısı | 4 |
| Ortak pin tipi | Aktif-düşük |
| Buton direnci | 1 kΩ (tipik) |
| Paket | Esnek PCB |
| Notlar / varyantlar | Birden fazla düzende mevcuttur |
- Her buton iki bağlantı gerektirir: biri buton için, diğeri ortak toprak için.
- Dahili pull-up dirençlerini kullanmak kablo bağlantısını basitleştirir ve bileşen sayısını azaltır.
- Doğru çalışma için ortak pinin toprağa bağlı olduğundan emin olun.
- Yanlış okumaları önlemek için yazılımda buton titreşimini (debounce) giderin.
- Geri bildirim için basit bir seri çıktı ile buton işlevselliğini test edin.
Kablo Bağlantı Talimatları

Dört tuşlu tuş takımını Arduino'ya bağlamak için şu adımları izleyin:
- İlk tuş kablosunu Arduino'daki
2pinine bağlayın. - İkinci tuş kablosunu
3pinine bağlayın. - Üçüncü tuş kablosunu
4pinine bağlayın. - Dördüncü tuş kablosunu
5pinine bağlayın. - Tuş takımından gelen ortak kabloyu Arduino'daki toprak pinine bağlayın.
Gevşek bağlantılardan kaçınmak için her kabloyu güvenli bir şekilde bağladığınızdan emin olun. Sorun yaşarsanız, her bağlantıyı videoda gösterilen pin atamalarıyla karşılaştırarak kontrol edin (videoda 04:15'te).
Kod Örnekleri ve Açıklaması
Aşağıdaki kod parçası, tuş takımı için pinleri başlatır ve bunları giriş olarak ayarlar:
#define key1 2 // kablo 1'i pin 2'ye bağla
#define key2 3 // kablo 2'yi pin 3'e bağla
#define key3 4 // kablo 3'ü pin 4'e bağla
#define key4 5 // kablo 4'ü pin 5'e bağla
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP); // pini giriş olarak ayarla
pinMode(key2, INPUT_PULLUP); // pini giriş olarak ayarla
pinMode(key3, INPUT_PULLUP); // pini giriş olarak ayarla
pinMode(key4, INPUT_PULLUP); // pini giriş olarak ayarla
}
Yukarıdaki kodda, her tuş ilgili bir pin numarasıyla tanımlanır. INPUT_PULLUP modu, butona basılmadığında pinlerin yüksek okumasını sağlayarak buton basım algılamasını basitleştirir.
Loop fonksiyonu her tuşun durumunu okur ve basıldığında ilgili mesajı yazdırır:
void loop() {
int key1S = digitalRead(key1); // key1'e basılıp basılmadığını oku
int key2S = digitalRead(key2); // key2'ye basılıp basılmadığını oku
int key3S = digitalRead(key3); // key3'e basılıp basılmadığını oku
int key4S = digitalRead(key4); // key4'e basılıp basılmadığını oku
if(!key1S) {
Serial.println("key 1 is pressed");
}
if(!key2S) {
Serial.println("key 2 is pressed");
}
// key3 ve key4 için ek kod...
delay(100);
}
Bu kod bölümü, her tuşun durumunu kontrol eder ve bir tuşa basıldığında seri monitöre bir mesaj yazdırır. delay(100), birden fazla basımın hızlı bir şekilde algılanmamasını sağlayarak bir titreşim giderme (debounce) etkisi sağlar.
Gösterim / Beklentiler
Kablo bağlantısını başarıyla yapıp kodu Arduino'nuza yüklediğinizde, seri monitörde hangi tuşa basıldığını belirten mesajların görüntülenmesini beklemelisiniz. Bir tuşa basmak "key 1 is pressed" çıktısını verecek ve diğer tuşlar için de benzer şekilde devam edecektir. Mesajlar görünmüyorsa, kablo bağlantılarınızı kontrol edin ve ortak kablonun toprağa bağlı olduğundan emin olun.
Ters bağlantılara dikkat edin, çünkü bu beklenmeyen davranışlara yol açabilir. Kullanılan pinlerin kodunuzda tanımlananlarla eşleştiğinden emin olun (videoda 06:45'te).
Video Zaman Damgaları
- 00:00 - Giriş
- 02:30 - Kablo Bağlantı Açıklaması
- 04:15 - Pin Atamaları
- 06:45 - Tuş Takımını Test Etme
Bu eğitim şunun parçasıdır: Tuş takımları
- Arduino ile 4x3 Tuş Takımı Kullanımı
- Arduino Kodu ve Video: 4x4 Matris Siyah Tuş Takımı
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- 4x4 Soft Keypad Arduino ile Nasıl Kullanılır
- How to Use a 5x4 20-Key Keypad with Arduino to Detect Strings
- Lesson 67: Controlling an 8-Channel Relay with a Keypad Using Arduino
- 1602 LCD Tuş Takımı Kalkanı: Temel Kod
++
/*
* This is the Arduino code for a 4-key keypad.
* Watch the video for details and demo: https://youtu.be/BiOh_Z2N7kk
*
* Written by Ahmad Shamshiri for the Robojax Video channel,
get code, wiring diagram and resources at www.Robojax.com/RJT37
* Date: December 28, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
* This code has been downloaded from https://robojax.com
// Recorded December 28, 2017 for Robojax.com
#define key1 2 //connect wire 1 to pin 2
#define key2 3 //connect wire 2 to pin 3
#define key3 4 //connect wire 3 to pin 4
#define key4 5 //connect wire 4 to pin 5
void setup() {
Serial.begin(9600);
pinMode(key1, INPUT_PULLUP);// set pin as input
pinMode(key2, INPUT_PULLUP);// set pin as input
pinMode(key3, INPUT_PULLUP);// set pin as input
pinMode(key4, INPUT_PULLUP);// set pin as input
}
void loop() {
int key1S = digitalRead(key1);// read if key1 is pressed
int key2S = digitalRead(key2);// read if key2 is pressed
int key3S = digitalRead(key3);// read if key3 is pressed
int key4S = digitalRead(key4);// read if key4 is pressed
// Code written for Robojax.com video tutorial
if(!key1S){
Serial.println("key 1 is pressed");
}
if(!key2S){
Serial.println("key 2 is pressed");
}
if(!key3S){
Serial.println("key 3 is pressed");
}
if(!key4S){
Serial.println("key 4 is pressed");
}
delay(100);
}
İhtiyacın olabileceğini düşünüyor
-
Amazon
-
AliExpressBuy soft keypad from AliExpresss.click.aliexpress.com
Kaynaklar ve referanslar
Henüz kaynak yok.