راه اندازی کی پد (صفحه کلید) با آردوینو

6

در این پست از سایت اِمیک, شما با راه اندازی کی پد یا صفحه کلید با استفاده از برد اردوینو UNO اشنا خواهید شد. در این پروژه ساده ما یک کی پد 3*4 را با اردوینو راه اندازی می کنیم و با فشار دادن هر کلید از کی پد مقدار ان بر روی یک LCD کاراکتری 2*16 نمایش داده می شود و همچنین امکان پاک کردن LCD با زدن یک دکمه وجود دارد. قبلا راه اندازی کی پد (keypad) را با استفاده از میکروکنترلر AVR اموزش داده بودیم که می تونید این پست را در اینجا مشاهده کنید, در این پست در مورد کی پد و ساختار ان کامل توضیح داده شده که میتونید مطالعه کنید.

Arduino-LCD-KEY-PAD

در ابتدا لازم است شما کتابخانه کی پد را به نرم افزار اردوینو اضافه کنید, برای این منظور فایل زیر را دانلود کرده و از حالت Zip خارج کنید و پوشه keypad را به پوشه‌ی libraries موجود در محل نصب برنامه اردوینو اضافه کنید .

دانلود کتابخانه keypad

 

نحوه استفاده از کتابخانه keypad :

برای استفاده از این کتابخانه ابتدا باید ان را به صورت زیر به ابتدای برنامه خود اضافه کنیم :

 

در ادمه باید تعداد سطر و ستون کی پد مورد نظرمان را به صورت زیر درون دو متغیر ذخیره کنیم (مثال زیر برای یک کی پد دارای 4 سطر و 3 ستون)

 

در مرحله بعد باید حروف و اعداد کی پد را به صورت ماتریسی داخل یک ارایه قرار دهیم, نحوه تعریف ارایه دقیقا مشابه کی پد می باشد. (مثال زیر برای یک کی پد 3*4)

 

در ادامه با ایجاد دو ارایه به صورت زیر نحوه اتصال سطرها و ستون های کی پد به پین های اردوینو را مشخص می کنیم. (در مثال زیر ما سطرهای کی پد را به پین های 0,1,2,3 و ستون های ان را به پین های 4,5,6 اردوینو متصل کرده ایم)

 

در اخرین مرحله ما با توجه به مقادیری که در بالا وارد کردیم یک تابع ایجاد می کنیم و این تابع نقشه ی کی پد را برای اردوینو تعریف می کند. (این تابع مقدار دهی اولیه متغیرها را انجام می دهد)

 

مهم ترین توابع کتابخانه keypad :

کتابخانه keypad دارای یکسری توابع هست که مهم ترین انها را در ادامه توضیح خواهم داد. در پروژه هایی که در اینده قرار خواهیم داد در صورتی که نیاز به تابعی دیگر از کتابخانه keypad بود در همان پروژه توضیح داده خواهد شد

تابع ()getKey :

این تابع کاراکتر کلید فشار داده شده را بر می گرداند. تابع getKey مانع اجرای برنامه نمی شود, یعنی کدهای بعد از ان هم در صورتی که مقداری دریافت نکند اجرا خواهند شد. برای استفاده از این تابع (و بقیه که در ادامه توضیح داده شده اند) , ابتدا باید متغیری از نوع char تعریف کرده و حاصل این تابع را درون ان بریزید و در هر کجای برنامه که نیاز داشتید استفاده کنید. در مثال زیر کاراکتر کلید فشار داده شده توسط تابع getKey دریافت شده و درون متغیر key ریخته می شود و در ادامه در صورتی که کلیدی فشار داده شود شرط if برقرار می شود و کاراکتر کلید فشار داده شده بر روی lcd نمایش داده می شود.

 

تابع ()getKeys :

این تابع در صورتی که کلیدی فشار داده شود true (یک منطقی) می شود و زمانی که کلیدی فشار داده نشده است مقدار false (صفر منطقی) را بر می گرداند. تابع getKeys مانع اجرای برنامه نمی شود, حتی زمانی که کلیدی را به صورت فشار داده شده نگه داریم بازهم کدهای بعد از ان اجرا می شوند. 

 

تابع ()waitForKey :

این تابع منتظر می ماند تا کلیدی فشار داده شود و مقداری دریافت کند. این تابع باعث متوقف شدن برنامه (بجز وقفه ها) می شود و کدهایی که بعد از این تابع نوشته شده اند تا زمانی که مقداری دریافت نکند (کلیدی فشار داده نشود) اجرا نخواهند شد.

 

شماتیک پروژه راه اندازی کی پد (صفحه کلید) با آردوینو :

Arduino-LCD-KEY-PAD

همانطور که در شماتیک بالا می بینید ما lcd کاراکتری و کی پد را با توجه به شماره پین هایی که در برنامه مشخص می کنیم به برد اردوینو یونو متصل کرده ایم. شما می توانید به دلخواه این پین ها را در برنامه تغییر دهید, ما در عمل از کی پد فلت 3*4 استفاده کردیم که کلیپ تست پروژه در انتهای مطلب قرار داده شده است. پین ها این کی پد به صورت زیر است :

Keypad-3-4-Pins

نکته: برای تغذیه برد اردوینو از اداپتور استفاده کنید. ال سی دی کاراکتری در عمل دارای 16 پین هست که در شبیه سازی پین های 15 و 16 ان وجود ندارد شما در عمل پین 15 را به مثبت و 16 را به منفی تغذیه متصل کنید.

 

برنامه :

توضیحات کامل برنامه نوشته شده و نیاز به توضیح دیگری نیست, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید. اگر با برنامه نویسی اردوینو اشنا نیستید مطالب زیر را مطالعه کنید 

  • برای اشنایی با دستورات مهم برنامه نویسی اردوینو اینجا کلیک کنید
  • برای اشنایی با دستورات مربوط به lcd کاراکتری اینجا کلیک کنید
  • برای اشنایی با نحوه پروگرام کردن برد اردوینو (ریختن برنامه روی برد) اینجا کلیک کنید

 

کلیپ تست عملی پروژه :

 

دانلود فایل ها

پسورد فایل زیپ : www.emic.ir

نظر یادتون نره…

6 دیدگاه‌ها

  1. سلام من دو روزه باهاتون اشنا شدم عمش بهتون سر می زنم بس که گلین پروژه هاتون خوبه و اینکه بدون قفل کردن و اینا می زارین ممنون

ارسال دیدگاه

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید