جلسه هشتم دوره آردوینو- راه اندازی کلید با آردوینو

مقدمه

دوستان سلام.

در ادامه بحث راه اندازی کلید با آردوینو میخوایم بگیم که چجوری وقتی کلید زدیم LED یا چراغمون روشن بشه. در جلسات این موضوع رو بررسی کردیم ولی دیدیم که هر دفعه یه مشکلی وجود داره. در این جلسه دیگه میخوایم مشکلات رو به طور کامل حل کنیم و کدنهایی که برای این کار استفاده میکنیم رو ارایه بدیم. مثل همیشه میریم سر اصل مطلب.

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

کد نهایی مربوط به کلید و LED

کاری که ما باید انجام بدیم اینه که  زمان دقیقی که کلید فشار داده میشه رو بدست بیاریم و فقط توی همین لحظات هم با تغییر وضعیت کلید، LED یا چراغ ما تغییر وضعیت بده. ایده ای که اینجا استفاده میکنیم اینه:

مقدار متغیر Val رو قبل از این که جدید بخونیمش ذخیره میکنیم و هر دفعه که جدید مقداری رو خوندیم با مقدار قبلی مقایسه میکنیم و اگه کلید فشار داده شده بود چراغمون رو روشن میکنیم. کد زیر مربوط به استفاده از همین ایده است:

راه اندازی کلید با آردوینو

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

وقتی که سیگنال های Bouncing تولید بشن آردوینو یه خورده گیج میشه. چون کلید داره هی تغییر وضعیت میده. برای این که این مشکل رو حل کنیم راه های زیادی وجود داره ولی راحتترین کدی که استفاده میشه برای حل این مشکل دستور delay با مقدار 10 تا 50 میلی ثانیه هست که باعث میشه این حالت گذرا گرفته بشه از این بابت هم مشکلی پیش نیاد.

کد زیر کد نهایی هست که ما برای روشن کردن LED وقتی که کلیدی فشرده بشه استفاده میکنیم.

راه اندازی کلید با آردوینو

خوب دوستان. این جلسه یه خورده کوتاه بود. جلسه بعد وارد مباحث جدیدی میشیم و دیگه کارمون با کلید و LED تموم میشه.

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

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

 

اشتراک گذاری:
مطالب زیر را حتما بخوانید

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • سلام. با تشکر از آموزشهای مفید شما
    1- کاش همراه عکس کدها فایل قابل کپی شدن آن را هم می گذاشتید.
    2- اگر بخواهیم یک یا چند LED دیگر به این برنامه اضافه کنیم که با هر بار فشار دادن کلید، به ترتیب روشن شده و روشن باقی بمانند چه کار باید کرد؟

    • با سلام.
      سوال 1 : کدها به این علت قرار داده نشده اند تا کپی نشوند و برنامه نویس در ابتدا دستش به کدنویسی عادت کند و از همان ابتدا شروع به کپی کردن نکند.
      سوال 2 : اضافه کردن led های دیگر نیز مشابه همین است و کافی است کمی تجربه برنامه نویسی و کار با حلقه ها را بلد بود. از این نظر تفاوت خاصی وجود ندارد.
      موفق باشید.

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