کی پد از جمله ابزار های تعاملی در پروژه های امبدد هستند که کاربرد فراوانی دارند . از کی پد ها می توان برای تنظیم منو های مختلف ، تغییر پارامترهای یک منو در یک پروژه با رابط گرافیکی و… استفاده نمود . کی پد ها در مدل های مختلفی ساخته می شوند از مدل های فلزی مقاوم در برابر گرد غبار تا مدل های تاچ . اما راه اندازی و به کار گیری آن ها تقریبا مشابه است و تنها در مدل های تاچ ممکن است فرق داشته باشند . یکی از مدل های کاربردی کی پد ها مدل های ممبران است . در این مدل ها از یک طلق نازک پلاستیکی در لایه خارجی کی پد استفاده شده است . کی پد های ممبران ضخامت بسیار کمی دارند و به راحتی می توان آن ها روی سطوح چسپاند .
در تصویر زیر یک نمونه از کی پد ممبران نشان داده شده است :
در تصویر زیر قسمت میانی کی پد ممران نشان داده شده است :
همان طور که در تصویر فوق مشخص است هر کلید دارای یک پین مشترک در سطر و یک پین مشترک در ستون خود است . برای کنترل یک کی پد MCU هر بار یک ستون را صفر کرده ( یا یک ) و سپس با برسی کلیه سطر ها ، کلید فشار داده شده در ستون را تشخیص می دهد و سپس برای ستون بعدی همین فرایند را تکرار میکندو پروسه اسکن کردن ستون ها توسط MCU بسیار سریع است لذا کاربر متوجه تاخیر آن نمی شود .
در گیف پایین به خوبی نحوه کنترل کی پد نشان داده شده است :
برای راه اندازی کی پد توسط آردوینو از کتابخانه keypad.h استفاده می شود . این کتابخانه کلیه پیکر بندی های مربوط به تایمر ها و اسکن سطری کی پد را انجام می دهد .
در تصویر زیر نحوه اتصال کی پد به آردوینو نشان داده شده است :
برنامه راه اندازی توسط آردوینو :
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad
//Create an object of keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
}
void loop(){
char key = keypad.getKey();// Read the key
// Print if key pressed
if (key){
Serial.print("Key Pressed : ");
Serial.println(key);
}
}
پس از آپلود کد ها بر روی آردوینو ، وارد محیط آردوینو IDE شوید . با فشردن هر کلید از کی پد مقدار آن نشان داده خواهد شد .
منبع : https://lastminuteengineers.com/arduino-keypad-tutorial/




