آموزش راه اندازی صفحه کلید (کی پد) ماتریسی 4×3 با آردوینو

فهرست مطالب

ویژگی های صفحه کلید ماتریسی 4x3

کلیدها یک از پرکاربردترین المان‌ها در الکترونیک هستند. با استفاده از سوئیچ‌ها کاربر می‌تواند با سیستم ارتباط برقرار کند. در حالت عادی هر کلید یک پایه دیجیتال میکروکنترلر را اشغال می‌کند. اما وقتی از ماژول‌هایی مانند کی‌پد 3 در 4 استفاده کنیم، می‌توانیم پایه‌های اشغالی میکروکنترلر را کاهش دهیم. با استفاده از این ماژول می توانیم از 12 سوئیچ، با اشغال تنها 7 پایه میکروکنترلر استفاده کنیم.

نحوه عملکرد

این ماژول مانند یک ماتریس 4×3 شامل 4 ردیف و 3 ستون می‌باشد که جمعا برابر 12 عدد سوئیچ است. 4 ردیف را به عنوان ورودی و 3 ستون را به عنوان خروجی ماژول در نظر می‌گیریم. هر سوئیچ از یک سمت به یک ردیف و از سمت دیگر به یک ستون وصل است. برای مثال اگر سوئیچ شماره 1 را فشار دهیم، ورودی این ردیف در خروجی ستون آن ذخیره می‌شود. عکس زیر مدار داخلی این کی‌پد را نشان می‌دهد.

معرفی پایه های (Pinout) صفحه کلید ماتریسی 4x3

کی‌پد 4×3 دارای 9 پایه به شرح زیر است:

  • ROW1: پایه ورودی – ردیف 1
  • ROW2: پایه ورودی – ردیف 2
  • ROW3: پایه ورودی – ردیف 3
  • ROW4: پایه ورودی – ردیف 4
  • COL1: پایه خروجی – ستون 1
  • COL2: پایه خروجی – ستون 2
  • COL3: پایه خروجی – ستون 3
  • :NC پایه بدون استفاده

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
صفحه کلید ماتریسی 4x3 × 1
سیم جامپر نری-مادگی × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی صفحه کلید ماتریسی 4x3 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر،کی‌پد را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

مانند شکل زیر، در بخش کتابخانه‌ی آردوینو عبارت Keypad را سرچ و آن را نصب کنید.

Note

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید.

   /*
  4x3-Membrance-Matrix-Keypad
  modified on 15 Nov 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
based on Keypad Arduino Library Examples */ #include <Keypad.h> const byte ROWS = 4; // Define the number of rows on the keypad const byte COLS = 3; // Define the number of columns on the keypad char keys[ROWS][COLS] = { // Matrix defining character to return for each key {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte rowPins[ROWS] = {8, 7, 6, 5}; //connect to the row pins (R0-R3) of the keypad byte colPins[COLS] = {4, 3, 2}; //connect to the column pins (C0-C2) of the keypad //initialize an instance of class Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup(){ Serial.begin(9600); } void loop(){ char key = keypad.getKey(); if (key){ // If key is pressed, send it to the Serial Monitor Window Serial.println(key); } }

در ابتدای برنامه کتابخانه Keypad پیوست شده است. سپس بایستی تعداد ستون و ردیف کی‌پد را وارد کنید. بعد از آن یک آرایه دو بعدی شامل ستون‌ها و ردیف ها برای نمایش کاراکتر هر سوئیچ تعریف می‌شود. دقت شود که در این برنامه فقط کاراکترها نمایش داده می‌شوند.  در گام بعدی در دستور Keypad پنج پارامتر آن تعریف می‌شود. سپس دستور ()getkey چک می‌کند که کدام یک از سوئیچ‌ها فشرده می‌شود. در آخر نیز کاراکتر سوئیچ فشرده شده در Serial Monitor  ظاهر می‌گردد.

خروجی کد به شکل زیر است. همانطور که مشاهده می‌کنید سوئیچ اول تا آخر به ترتیب فشرده شده و کاراکتر مخصوص هر کدام بر روی Serial Monitor ظاهر شده ‌است.

آموزش های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.