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

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

آموزش Debouncing یا نویزگیری در Arduino
نوشته شده توسط علیرضا قربانی

در قسمت  دوم آموزش دی‌بانسینگ ( Debouncing ) قصد معرفی و آموزش کتابخانه‌ای برای انجام عملیات دی‌بانسیگ یا نویزگیری کلید یا کیپد در Arduino را داریم . در ادامه با مرجع تخصصی آردوینو ، دیجی ‌اسپارک همراه باشید . آموزش قسمت اول آموزش دیبانسینگ ابتدا کتابخانه‌ی Debouncing از لینک زیر دانلود میکنیم.سپس کتابخانه را به نرم افزار آردوینو اضافه می‌کنیم.
Download%20library

 

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

  • attah
  • interval
  • update
  • read
  • rose
  • fell

 

توضیح توابع Debouncing

برای استفاده از کلاس دی بانس ابتدا باید از کلاس bounce یک ابجک بسازیم:

Bounce debouncer = Bounce ();

 

attach

توسط این تابع پینی که قصد داریم عملیات دیبانس را بر روی انجام دهیم به آیبچکتی که در ابتدای برنامه از کلاس debounce ساختیم نسبت می‌دهیم همانند قطعه کد زیر:

debouncer.attach (BUTTON_PIN);

 

interval 

بعد از ساخت آبجک باید زمان عملیات دیبانسینگ را توسط interval مانند قطعه کد زیر مشخص کنیم :

debouncer.interval (50);

 

update

این تابع اگر وضعیت پین مورد نظر تغییر کرد مقدار true را برمی‌گرداند ( برای مثال هنگامی که از وضعیت HIGH به LOW یا بر عکس از وضعیت LOW به HIGH تغییر کند) و در صورتی که  وضعیت پین تغییری نداشته باشد مقدار false  را بر می‌گرداند.

bool state=debounce.update();

 

 

read

بعد از استفاده از تابع update ، به وسیله این تابع وضعیت جدید پین مورد نظر را می‌خوانیم.

debouncer.read();

 

fell

این تابع هنگامی که وضعیت پین مورد نظر از HIGH به LOW تغییرر کند مقدار true و در غیر این صورت مقدار false را برمی‌گرداند.

bool state=debouncer.fell();

 

rise

این تابع در صورت تغییر وضعیت پپن مورد نظر از LOW ّه HIGH مقدار true را برمی‌گرداند .

bool state=debounce.rise();

 

مثال: نمونه کد زیر عملیاتی که در آموزش قبل انجام می‌دادیم را انجام می‌دهد.

 

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

 

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

 

در قسمت یعدی از آموزش Debouncing ، به آموزش دیبانس کردن از طریق سخت افزار خواهیم پرداخت.

 

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

 

پروژه و دریافت بن ارسال رایگان

برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

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

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

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

۱۷ دیدگاه