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

کنترل صدا با آردوینو میکرو MyElectro

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

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

برای دانلود فایل کد پروژه اینجا کلیک کنید 

کتابخانه‌ها: کد از دو کتابخانه HID-Project.h برای کنترل مدیا (حجم صدا، میوت و...) و Encoder.h برای خواندن داده‌های روتاری انکودر استفاده می‌کند.پین های ورودی:

پین‌های 2 و 3 برای ورودی A و B روتاری انکودر.

پین 4 برای کلید میوت که به‌صورت INPUT_PULLUP تنظیم شده است.

عملکرد اصلی:

در تابع loop، موقعیت انکودر خوانده می‌شود. اگر موقعیت جدید بیشتر از قبلی باشد، دستور افزایش صدا (MEDIA_VOLUME_UP) و اگر کمتر باشد، دستور کاهش صدا (MEDIA_VOLUME_DOWN) صادر می‌شود.

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

تأخیرها: تأخیر کوتاه (50 میلی‌ثانیه) برای جلوگیری از ارسال مکرر دستورات در هنگام چرخاندن انکودر و تأخیر 200 میلی‌ثانیه برای جلوگیری از ارسال چندین فرمان میوت ناشی از فشردن طولانی یا دوبل‌کلیک ناخواسته تنظیم شده است.