کی پد از جمله ابزار های تعاملی در پروژه های امبدد هستند که کاربرد فراوانی دارند . از کی پد ها می توان برای تنظیم منو های مختلف ، تغییر پارامترهای یک منو در یک پروژه با رابط گرافیکی و… استفاده نمود . کی پد ها در مدل های مختلفی ساخته می شوند از مدل های فلزی مقاوم در برابر گرد غبار تا مدل های تاچ . اما راه اندازی و به کار گیری آن ها تقریبا مشابه است و تنها در مدل های تاچ ممکن است فرق داشته باشند . یکی از مدل های کاربردی کی پد ها مدل های ممبران است . در این مدل ها از یک طلق نازک پلاستیکی در لایه خارجی کی پد استفاده شده است . کی پد های ممبران ضخامت بسیار کمی دارند و به راحتی می توان آن ها روی سطوح چسپاند .
در تصویر زیر یک نمونه از کی پد ممبران نشان داده شده است :
در تصویر زیر قسمت میانی کی پد ممران نشان داده شده است :
همان طور که در تصویر فوق مشخص است هر کلید دارای یک پین مشترک در سطر و یک پین مشترک در ستون خود است . برای کنترل یک کی پد 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/