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

صفحه کلید چیست؟

صفحه کلیدها از تعدادی کلید فشاری تشکیل شده اند، که هر کلید به صورت سطری و ستونی به کلید دیگر متصل شده است. در صفحه کلیدها (KeyPad) تعداد ردیف ها و ستون ها نشان دهنده تعداد کلیدهای بکار رفته در آن است. به عنوان مثال زمانیکه می گویم یک صفحه کلید (کیپد) با 4 ستون و 4 سطر داریم یا به اصطلاح کیپد 4*4 داریم، یعنی این صفحه کلید دارای 16 کلید فشاری است. حال اگر همین صفحه کلید دارای 3 ستون و 4 سطر باشد، یعنی تعداد 12 کلید فشاری درون خود جای داده است. به طور ساده تر می توان اینگونه بیان کرد که شما می توانید با ضرب تعداد ستون های یک صفحه کلید در تعداد سطرهای آن تعداد کلیدهای فشاری بکار رفته در آنرا محاسبه کنید.

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

همانگونه که در ابتدای مطلب گفتیم صفحه کلیدها تنها از تعدادی کلید فشاری ساخته شده اند، حال می خواهیم این سوال را مطرح کنیم که چرا در پروژه هایی که نیاز به تعریف تعدادی کلید است از کلیدها به صورت مستقیم استفاده نمی شود و معمولا از صفحه کلیدها استفاده می شود؟! اگر پاسخ این سوال را نمی دانید پس با ما همراه باشید تا با ذکر یک مثال دلیل آنرا برایتان توضیح دهیم.

نمای ظاهری صفحه کلید 4*4 و 3*4

ویژگی استفاده از صفحه کلید

فرض کنید ما می خواهیم یک پروژه آردوینو با موضوع قفل رمزی توسط برد آردوینو Arduino Uno طراحی کنیم، در این پروژه برای اینکه کاربر بتواند رمز عبور خود را وارد کند، به تعداد 12 کلید فشاری نیاز داریم. که 10 عدد کلید آن برای ورود اعداد 0 الی 9 و دو کلید دیگر برای ورود کاراکترهای * و # مورد نیاز است. اگر بخواهیم از صفحه کلید استفاده نکنیم برای اتصال هر کلید فشاری به مدار پروژه باید یک پایه از برد Arduino را اشغال کنیم یعنی برای اتصال 12 کلید باید 12 عدد از پایه های برد آردوینو را استفاده کنیم.

که همین موضوع یعنی اشغال 12 پایه برد آردوینو توسط کلیدها خود یک مشکل بزرگ است، چراکه اگر بخواهیم در پروژه خود LCD کاراکتری، چند لامپ LED و یا رله نیز استفاده کنیم، حتما پایه (O/I) در برد آردوینو کم می آوریم و مجبوریم به سراغ دیگر مدل های برد آردوینو که دارای تعداد بیشتری پایه هستند برویم که این موضوع باعث می شود هزینه ساخت پروژه و ابعاد آن نیز به مراتب بیشتر شود.

حال اگر بخواهیم همین پروژه را با صفحه کلید یا همان کیپد 4*3 انجام دهیم تنها تعداد 7 پایه از برد آردوینو اشغال می شود. و این موضوع به این دلیل است که همانطور که ذکر شد در صفحه کلیدها تمامی کلیدهای فشاری به صورت سطری و ستونی به یکدیگر متصل می شوند.

نحوه چینش و اتصال کلید ها در یک صفحه کلید 4*4 و 4*3

نحوه چینش و اتصال کلید ها در یک صفحه کلید 4*4 و 4*3

نقشه شماتیک نحوه اتصال صفحه کلید به برد آردوینو

به طور کلی یک کیپد 4*4 دارای 8 پایه و کیپد 3*4 دارای 7 پایه است. که شما می توانید هر کدام از پایه های صفحه کلید را به صورت دلخواه به هر کدام از پایه های دیجیتال آردوینو متصل کنید. پس نیازی نیست حتما طبق نقشه شماتیک درج شده در زیر، پایه های صفحه کلید را به برد آردوینو متصل کنید. تنها نکته ای که باید در هنگام اتصال صفحه کلید به برد آردوینو رعایت کنید، این موضوع است که بخاطر داشته باشید کدام سطر و یا کدام ستون صفحه کلید را به کدام پایه آردوینو متصل کرده اید تا در ادامه در برنامه آردوینو وارد کنید.

نقشه شماتیک نحوه اتصال صفحه کلید به برد آردوینو

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

برد آردوینو Arduino UNO R3 مدل DIP1 عدد
صفحه کلید فلت حروفی مدل 4×41 عدد
برد بورد (پروجکت برد) مدل GL1 عدد
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی)1 عدد

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

شرح برنامه پروژه

همانطور که در برنامه پروژه مشاهده می کنید ما برای راه اندازی صفحه کلید توسط آردوینو Arduino از کتابخانه Keypad.h استفاده کرده ایم. این کتابخانه توسط دستور زیر در برنامه فراخوانی شده است. به کمک این کتابخانه می توانیم به سادگی آب خوردن بدون نوشتن کدهای برنامه نویسی پیچیده یک صفحه کلید را راه اندازی کنیم. به این ترتیب برای استفاده از این برنامه در نرم افزار برنامه نویسی آردوینو باید ابتدا کتابخانه Keypad.h را نصب کنید. فایل این کتابخانه در ادامه همین مطلب پیوست فایل پروژه جهت دانلود قرار داده شده است. همچنین در صورتیکه به نحوه نصب کتابخانه در آردوینو آشنا نیستید می توانید ویدیو آموزشی این مطلب را که در ادامه درج شده است را مشاهده نمائید.

تعیین تعداد سطر و ستون های صفحه کلید

توسط دو خط برنامه زیر می توانیم به ترتیب تعداد ستون ها و سپس سطرهای صفحه کلید متصل به برد آردوینو را معرفی کنیم.

معرفی پایه های صفحه کلید در برنامه آردوینو

توسط کدهای برنامه نویسی زیر می توانید، برد آردوینو را متوجه کنید که کدام پایه صفحه کلید را به کدام پایه دیجیتال آردوینو متصل کرده اید.

طراحی صفحه کلید

با استفاده از دستور زیر در برنامه پروژه می توانیم برای برد آردوینو تعریف کنیم که هر کلید در صورت فشرده شدن بیانگر چه عدد و یا کاراکتری است.

خواندن صفحه کلید

توسط دستور زیر می توانیم محتوای صفحه کلید را بخوانیم. در صورتیکه کلیدی بر روی صفحه کلید فشرده شده باشد، دستور زیر مقدار متناظر آن را که در قسمت طراحی صفحه کلید(دستور بالا) تعریف کردیم بر می گرداند و در متغیر customKey از جنس char می ریزد.

نمایش کلید فشرده شده

توسط دستور شرطی زیر ابتدا بررسی می کنیم کلیدی فشرده شده است یا خیر، که این کار توسط بررسی متغیر customKey انجام می شود، اگر این متغیر خالی باشد یعنی کلید فشرده نشده و در نتیجه شرط برقرار نمی شود، اما بلعکس اگر کلیدی فشرده شده باشد شرط برقرار می شود و مقدار متغیر customKey که حاوی مقدار کلید فشرده شده است در محیط سریال چاپ می شود.

آموزش صفر تا صد برنامه نویسی بردهای آردوینو – جلسه شانزدهم

دانلود ویدئو با لینک مستقیم از سرورهای پرقدرت الکترونیک 98

 اطلاعات پروژه

 رمز فایل : www.electronics98.com

 حجم فایل : 482 کیلوبایت

 محیط برنامه نویسی : Arduino (IDE)

 برنامه نویسی شده به زبان : ترکیبی از برنامه نویسی به زبان سی (C) یا سی پلاس پلاس (++C)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 25 سپتامبر 2018

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.