در قسمت دوم آموزش دیبانسینگ ( Debouncing ) قصد معرفی و آموزش کتابخانهای برای انجام عملیات دیبانسیگ یا نویزگیری کلید یا کیپد در Arduino را داریم . در ادامه با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید . آموزش قسمت اول آموزش دیبانسینگ ابتدا کتابخانهی Debouncing از لینک زیر دانلود میکنیم.سپس کتابخانه را به نرم افزار آردوینو اضافه میکنیم.
درقسمت قلبی دیبانسینگ بدون استفاده از کتابخانه استفاده شد که اگر تعداد کلید های به کار رفته در پروژه زیاد باشد حجم کدهای زیاد میشود و از نظر برنامه نویسی دارای استاندارد مناسبی نمیباشد.
- 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 منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
با عرض سلام و خسته نباشید
کتابخونه ای که معرفی کردین خیلی عالی بود
تست کردم خیلی به نظرم جالب اومد
با سلام و خسته نباشید ببخشید من یک سوال داشتم من یک برد آردوینو uno خریدم و صفحه کلید رو با اون راه اندازی کردم ولی وقتی اعداد روی صفحه کلید رو فشار میدیم اعداد دیگری روی صفحه کلید نمایش داده میشه من چطور باید نویز گیری اون رو انجام بدم آیا آموزشی هست که بتونم ازش استفاده کنم با تشکر از وب سایت خوبتون
سلام
اتصالات صفحه کلیدتون اشتباه و ربطی به نویز نداره
در ضمن در این پست آموزش کتابخانه کیپد در آردوینو قرار داده شده
توصیه میکنم که این آموزش را ببینین
http://digispark.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B1%D8%A7%D9%87%E2%80%8C%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-keypad-%D8%A2%D8%B1%D8%AF%D9%88%DB%8C%D9%86%D9%88-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85/
[…] آموزش دیبانسینگ کلید در آردوینو […]
سلام ممنون از مطالبتون خیلی به دردم می خورده.
سلام
خواهش میکنم
موفق باشید
[…] آموزش دیبانسنگ کلید در آردوینو […]
لطفا از طریق سخت افزار رو آموزش بدین
اگه از دو کلید یا تعداد بیشتری بخوام استفاده کنم . کدوم قسمت باید مشخص کنم؟؟
با سلام
ضمن تشکر از توجه شما، سطر ۱ و ۲ در کدها را ببینید؛ دو پایه از آردوینو را نام گذاری کردهایم. سپس در کدها هرکدام را آدرس دهی کردیم. با همین فرمول میتوانید اقدام کنید. سوالاتتان را از همین طریق مطرح کنید.
سلام . باید بگم این مبحث خیلی جالب و کاربردی بود و خیلی به دردم خورد. خسته نباشید.
با سلام
از توجه شما سپاسگزاریم. لطفا به صفحه حمایت از دیجی اسپارک هم مراجعه کنید.
سلام شیلد lcd آردوینو دیبانسیگ میخواد؟؟ چون کلیداش با آنالوگ A0 کار می کنه؟؟؟
سلام
بله میتوانید از نمونه کد دیبانسینگ برای این شیلد در صورت عدم کارکرد صحیح کلیدها استفاده کنید.
سلام من میخام تمام پایه های آردو رادیبانس کنم وفرمان high ,low بدم میشه راهنماییم کنید .متشکرم
سلام
از توجه شما ممنونم.
در هر دو بخش آموزش Debouncing در سایت کامل توضیح داده شده است. مطابق با متن آموزش پیش بروید. سپس در صورت برخورد به مشکل مجددا از همین طریق اقدام نمایید.
آموزش Debouncing یا نویزگیری کلید آردوینو بخش اول