آموزش آردوینو پروژه های آردوینو مدارهای الکترونیک

آموزش کار با keypad آردوینو بخش اول

نوشته شده توسط علیرضا قربانی

به نام خدا.در این پست آموزشی قصد راه‌اندازی keypad با استفاده از آردوینو را داریم  . با مرجع تخصصی آردوینو،دیجی اسپارک همراه باشید.

 

در بازار معمولا دو نوع کیپد فلت و  معمولی موجود می‌باشد که تفاوت آن‌ها در شکل ظاهری و ابعادشان می‌باشد و در عملکرد تفاوتی ندارند.

آموزش کار با کیپد آردوینو بخش اول

کیپد فلت

 

آموزش کار با Arduino keypad

کیپد معمولی

 

 

کیپد مجموعه از تاچ سوئیچ ها می‌باشد که به صورت سطری ،ستونی به طوری که تشکیل یک ماتریس دهند در کنار یک دیگر قرار گرفته اند همانند شکل زیر :

 

دیاگرام درونی کیپد

دیاگرام درونی کیپد

 

برای راه اندازی کیپد روش‌های زیادی وجود دارد که در این آموزش به شرح یکی از روش‌های ساده می‌پردازیم و در قسمت‌های بعدی روش‌های بهینه تری را آموزش می‌دهیم.

 

 نمایی کلی از عملیاتی که باید انجام شود :

در روشی که در این پست قصد داریم به آموزش آن بپردازیم کی‌پد را همانند تصویر زیر به آردوینو متصل می‌کنیم.

آموزش جامع کار با کی پد آردوینو

 

سپس پین‌های شماره ۱ ، ۲ ، ۳ و ۴ را در وضعیت ورودی و  Pull Up قرار می‌دهیم.بعد از ین پین‌های A , B ,C , D را خروجی می‌کنیم و در وضعیت ۱ منطقی قرار می‌دهیم. سپس مقدار LOW را میان پین‌های A , B  ,C , D شیفت می‌دهیم . یعنی همانند حالات زیر عمل می‌کنیم.

مراحل شیفت دهی :

مرحله اول:

A = LOW

B = HIGH

C = HIGH

D = HIGH

مرحله دوم:

A = HIGH

B = LOW

C = HIGH

D = HIGH

مرحله سوم :

A = HIGH

B = HIGH

C = LOW

D = HIGH

مرحله چهارم:

A = HIGH

B = HIGH

C = HIGH

D = LOW

و به همین ترتیب مراحل بالا را از مرحله یک به چهار انجام می‎دهیم و منتظر می‌شویم که کلیدی فشرده شود. اگر کلیدی فشرده شد یکی از ستون ها در وضعیت LOW قرار میگیرد و ما با داشتن شماره سطر و شماره ستون می‌توانیم کلید فشرده شده را تشخیص دهیم.

 

 

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

 

دانلود شبیه ساز و کدها‌ی این پروژه

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

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۵ دیدگاه

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

    • با سلام
      ضمن تشکر از توجه شما، اگر منظورتات از یکبار عدد گرفتن این است که با فشردن کیپد چندبار عدد ارسال می‌شود، بایستی از آموزش دیبانسینگ استفاده کنید. ولی اگر میخواهید با یکبار فشردن کیپد لوپ برنامه اجرا شود، باید آرگومان مربوطه را در لوپ قرار دهید. چیزی شبیه به کد زیر:

      void loop() {
      char keypress = key.getKey();
      while (keypress != NO_KEY){
      if (keypress == ‘X’){