ورودی دیجیتال-آموزش آردوينو {جلسه سیزدهم}

ورودی دیجیتال در آردوينو

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

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

با دقت در عکس اول صفحه چنانچه کلید بالای بردبرد را فشار دهید LED روشن می شود و اگر کلید دیگر را فشار دهید LED خاموش می شود.

شکل زیر بوضوح نحوه اتصال پایه ها را به روی بردبرد نشان می دهد.

 

 

دقت کنید که پایه های مثبت و منفی LED را صحیح متصل کنید. طرز تشخیص پایه های مثبت و منفی را در شکل زیر می بینید:

كد ورودي ديجيتال

توضيحات كد ورودي ديجيتال

در خط اول کد 3 متغیر تعریف شده است که اولی مربوط به پایه مثبت LED است و دومی مربوط به کلید فشاری A و سومی مربوط به کلید فشاری B است.

در حلقه setup پایه مربوط به LED را خروجی تعریف می کنیم و پایه های مربوط به دوتا کلید فشاری را ورودی تعریف می کنیم. دقت کنیم که هنگام تعریف کردن کلید به عنوان ورودی از INPUT_PULLUP استفاده می کنیم و معنی آن این است که اگر هیج نوع ورودی به پایه 8 و 9 آردوینو وصل نشود این دو تا پایه HIGH است( HIGH یعنی 1 و LOW یعنی 0). حالا ما آمده ایم و به این پایه یک کلید وصل کرده ایم که خود این کلید یک پایه اش به GND(یعنی LOW) است و به محض اینکه ما این کلید را فشار دهیم پایه مورد نظر از از حالت HIGH به حالت LOW تغییر وضعیت می دهد.

 

 

در حلقه loop  ما دو تا تابع ‘if’ تعریف کرده ایم که هرکدام مربوط به یک کلید است. در هر شرط یک ‘digitalRead’ وجود دارد که پایه مورد نظر را می خواند. تابع ‘digitalRead’ فقط یک عبارت در درون پرانتزش دارد که آن هم مربوط یه پینی است که قرار است ورودی ديجيتال از آن خوانده شود. در اینجا buttonApin است و در صورتی که کلید را فشار دهیم از طریق این تابع متوجه خواهیم شد که کلید فشرده شده است و حالت منطقی ورودي ديجيتال باید LOW شود. حال در صورتی که مثلا کلید فشاری A فشرده شد برنامه به خط بعدی می رود و متوجه می شود که باید LED را روشن کند. نحوه متوجه شدن هم به این صورت است که ما با استفاده از تابع ‘digitalWrite’ به LED ولتاژ می دهیم و آن روشن می کنیم. تابع ‘digitalWrite’ دوتا پارامتر دارد که اولی پایه ای است که می خواهیم حالت منطقی(منظور همان 0و1 است) را روی آن اجرا کنیم  و دومی حالت منطقی مورد نظر است. بجای پارامتر دوم  یا HIGH می نویسیم و یا LOW می نویسیم. ورودي ديجيتال فقط دو حالت HIGH يا LOW دارد.

شرط if دومی به ما می گوید که اگر کلیدفشاری B فشرده شود به خط بعد بعد می رود و با استفاده از تابع ‘digitalWrite’ ال ای دی را خاموش می کند.

خب این جلسه هم به پایان رسید امیدوارم که استفاده کافی رو برده باشید

برای دریافت آخرین مطالب سایت  و همچنین مطالب منحصر به فرد دیگر که در سایت منتشر نمی شوند میتوانید در کانال تلگرام ما عضو شوید و یا در اینستاگرام ما را فالوو کنید:

پیروز و سربلند باشید

قاسم قاسمی

 

نوشتن نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Optionally add an image (JPEG only)