آموزش Debouncing یا نویزگیری در Arduino

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

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

آموزش Debouncing یا نویزگیری کلید

مدار ساده‌ی اتصال دکمه به آردوینو

 

در مدار بالا اگر کلیدی فشار داده شود مقدار ۰ به ورودی اعمل می‌شود و اگر کلید در حالت آزاد باشد (فشرده نشود )، مقدار ۱ به ورودی اعمال می‌شود. در مواردی که نویز زیاد می‌باشد توصیه می‌شود که ازمقاومت PULL UP خارجی نیز استفاده شود و فقط به PULL UP داخلی اکتفا نکنیم. برای مقاومت PULL UP خارجی می‌توان از مقاومتی بین ۲٫۲ کیلو اهم تا ۴٫۷ کیلو اهم استفاده کرد. همانند شکل زیر:

آموزش Debouncing یا نویگز کیری کلید در Arduino

مدار مقاومت PULL UP خارجی

 

 

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

 

آموزش Debouncing یا نویزگیری کیپد Arduino

شکل موج نوسانات هنگام فشرده شدن کلید

 

به علت سرعت زیاد آردوینو  و وجود این نوسانات، ممکن است هنگامی که ورودی کلید را بخوانیم، چندین بار عمل صفر و یک انجام شود و باعث اختلال در برنامه می‌شود. به عملیاتی که باعث حذف نوسانات و نویزها شود اصطلاحا Debouncing می‌گویند. برای عملیات Debouncing می‌توان از روش‌های برنامه‌نویسی یا قطعات سخت افزاری استفاده کرد. که در این بخش قصد آموزش روش برنامه نویسی برای عملیات Debouncing را داریم. شیوه‌ی برنامه نویسی این گونه است که وضعیت ورودی آروینو ( وضعیت دکمه ) را در یک دوره زمانی کوتاه دو بار بررسی می‌کنیم. بدون انجام عمل Debounce یک بار فشردن کلید می‌تواند در کد به صورت چندبار فشردن تشخیص داده شود.

 

برنامه

در برنامه پین متصل به دکمه را در وضعیت پول آپ قرار داده ایم. با هر بار فشار دادن دکمه وضعیت LED تغییر می‌کند.

 

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

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

در ادامه ویدیوی این آموزش را ببنید.

[advanced_iframe securitykey=”e3ac59a02708b32a0e36dd27eecce7b410abc919″ src=”http://www.aparat.com/video/video/embed/videohash/KPEHd/vt/frame” allowFullScreen=”true” webkitallowfullscreen=”true” mozallowfullscreen=”true” height=”360″ width=”640″]
علیرضا قربانی
علیرضا قربانی
علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

6 دیدگاه ها

  1. منصور می‌گه:

    سلام

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

  2. […] آموزش دیبانسیگ کلید در آردوینو بخش اول […]

  3. ضیایی می‌گه:

    خیلی ممنون
    واقعا مفید بود

  4. اکبر می‌گه:

    آقا خیلی خیلی ممنون واقعا زحمت کشیدی تشکر فراوان استفاده کردیم

پاسخ دهید

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