این آموزش بخشی است از: صفحه کلیدها
تمام ویدیوهای مربوط به صفحهکلید اینجا فهرست شدهاند.
استفاده از کیپد 4x3 با آردوینو
در این آموزش، نحوهٔ استفاده از یک کیپد ۴×۳ با آردوینو برای خواندن فشردن کلیدها را بررسی خواهیم کرد. این کیپد را میتوان در پروژههای مختلف بهکار برد، مانند ایجاد یک رابط ورودی ساده برای یک سیستم امنیتی یا هر برنامهای که نیاز به ورودی کاربر دارد. تا پایان این راهنما قادر خواهید بود فشردن کلیدها را بخوانید و به کلیدهای مشخصی پاسخ دهید.

حتماً ویدیوی همراه را برای مشاهدهٔ نمایش تصویری سیمکشی و پیادهسازی شِفر (کود) بررسی کنید (در ویدیو در 00:00).
سختافزار به زبان ساده
اجزای اصلی این پروژه شامل کیپد 4x3 و برد آردوینو هستند. کیپد از ماتریسی از دکمهها تشکیل شده که در 4 ردیف و 3 ستون چیده شدهاند. وقتی یک دکمه فشار داده میشود، یک ردیف مشخص را به یک ستون مشخص متصل میکند و به آردوینو اجازه میدهد تشخیص دهد کدام دکمه فشار داده شده است.
برد آردوینو بهعنوان کنترلکننده مرکزی عمل میکند که ورودیهای صفحهکلید را میخواند. این برد از کتابخانه Keypad استفاده میکند که فرآیند مدیریت صفحهکلید ماتریسی را ساده میکند و تشخیص فشردن کلیدها را آسانتر مینماید.
جزئیات دیتاشیت
| تولیدکننده | مختلف |
|---|---|
| شماره قطعه | کیپد 4x3 |
| ولتاژ منطقی | 5 V |
| جریان کاری | ≤ 20 mA |
| طول عمر کلید | ≥ 1,000,000 بار فشار |
| بسته | صفحهکلید ماتریسی |
- پایههای کیپد را بهدرستی به پایههای دیجیتال آردوینو متصل کنید.
- در صورت نیاز، بسته به تنظیماتتان از مقاومتهای پولآپ یا پول-داون استفاده کنید.
- مطمئن شوید که کتابخانه Keypad در Arduino IDE شما گنجانده شده است.
- برای جلوگیری از قرائتهای چندباره، عملیات نوسانزدایی (debounce) فشردن کلیدها را در نرمافزار اعمال کنید.
- هر کلید را آزمایش کنید تا از سیمکشی صحیح و عملکرد مناسب آن اطمینان حاصل شود.
راهنمای سیمکشی

برای سیمکشی صفحهکلید ۴×۳ به آردوینو، پایههای سطر و ستون صفحهکلید را به پایههای دیجیتال آردوینو متصل خواهید کرد. پایههای سطر (معمولاً ۴ پایه) را به پایههای2،3،4، و5روی آردوینو. پایههای ستون (معمولاً 3 پایه) باید به پایههای6،7، و8.
اطمینان حاصل کنید که پایه زمین کیپد را به زمین آردوینو و پایه تغذیه را به خروجی 5V متصل کنید. این تنظیم به آردوینو اجازه میدهد وضعیت هر کلید را هنگام فشرده شدن بخواند و از کتابخانه Keypad برای مدیریت اسکن ماتریسی استفاده کند.
نمونههای شِفر (کود) و راهنمای گامبهگام
شِفر (کود) زیر صفحهکلید را مقداردهی اولیه میکند و کلید فشردهشده را در نمایشگر مسلسل چاپ میکند. مقادیر کلیدها در آرایهای از کاراکترها ذخیره میشوند.
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};آنkeysآرایه چیدمان صفحهکلید را تعریف میکند که متناظر با آرایش فیزیکی کلیدها است. هر خصیصه نمایندهٔ یک دکمه روی صفحهکلید است.

در مرحله بعد، صفحهکلید را در ... راهاندازی میکنیم.setup()تابع:
void setup(){
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}این بخش ارتباط سریال را با نرخ باود 9600 راهاندازی میکند و به ما اجازه میدهد فشار کلیدها را در نمایشگر مسلسل ببینیم.
در نهایت، حلقه فشرده شدن کلیدها را بررسی میکند و متناسب با آن واکنش نشان میدهد:
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Key 4 is pressed");
}
}در اینجا، برنامه بررسی میکند که آیا هر کلیدی با استفاده ازkeypad.getKey(). اگر کلیدی فشرده شود، مقدار آن چاپ میشود. علاوه بر این، اگر کلید '4' فشرده شود، پیام مشخصی نمایش داده میشود.
نمایش / چه انتظاری داشته باشید
وقتی راهاندازی کامل شد، با فشردن هر کلید روی کیپد، خصیصه متناظر باید در نمایشگر مسلسل نمایش داده شود. اگر کلید '4' فشرده شود، پیام ویژهای چاپ میشود که فعالشدن آن کلید را نشان میدهد. این قابلیت به شما اجازه میدهد تا بر پایه این مبنا برنامههای پیچیدهتری پیادهسازی کنید.
مراقب ورودیهای شناور باشید که میتوانند باعث رفتار نامنظم شوند. از محکم بودن همهٔ اتصالات اطمینان حاصل کنید و هر کلید را آزمایش کنید تا از عملکرد صحیح آن مطمئن شوید (در ویدئو در 00:00).
این آموزش بخشی از: صفحه کلیدها
- شِفر (کود) آردوینو و ویدیو برای یک صفحهکلید چهار دکمهای
- شِفر (کود) آردوینو و ویدئو: کیپد مشکی ماتریسی 4x4
- Build a Simple Electronic Lock with Keypad and LCD Using Arduino
- Controlling an 8-channel relay with a 4x3 keypad
- نحوه استفاده از صفحهکلید نرمافزاری ۴×۴ با آردوینو
- 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
- شیلد صفحۀ کلیدها LCD 1602: شِفر (کود) اساسی
/*
* Library taken from: https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for a 4x3 keypad.
* Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
resources page: www.Robojax.com/RJT104
*
* Modified by Ahmad Shamshiri for the Robojax Video channel: www.Robojax.com/RJT104
* Date: July 11, 2018 at 19:56 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
* Watch video instructions for this code:
*
*/
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
// Robojax 4x3 keypad test
Serial.begin(9600);
Serial.println("Robojax 4x3 keypad");
}
void loop(){
// Robojax 4x3 keypad test
char key = keypad.getKey();
// Just print the pressed key
if (key){
Serial.println(key);
}
// This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
if (key =='4'){
// If key matches what you are looking for
Serial.println("Key 4 is pressed");
}
}
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
منابع و مراجع
هنوز هیچ منبعی موجود نیست.
فایلها📁
فایل فریزینگ
-
صفحه کلید ماتریسی غشا 4x3
Membrane Matrix Keypad 4x3.fzpz0.01 MB
سایر فایلها
-
کتابخانه صفحه کلید LCD
robojax-1602_LCD_keypad.zip