ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

باکس کنترل اختصاصی برای نرم‌افزار زوم با آردوینو

ابزار و گجت
۰ نظر
۵۱ نفر
کد ۴۴۳۶

تو جلسات آنلاین و کلاس‌های مجازی با نرم‌افزار زوم (Zoom)، پیدا کردن سریع دکمه‌های قطع و وصل میکروفون یا دوربین گاهی خیلی کلافه‌کننده می‌شه. وقتی وسط پرزنتیشن هستی یا چند تا پنجره باز داری، استفاده از موس برای پیدا کردن دکمه‌ها روی مانیتور، تمرکزت رو به هم می‌ریزه. داشتن یه کیبورد کوچیک و اختصاصی که فقط دکمه‌های ضروری زوم روش باشه، می‌تونه سرعت و تسلطت رو تو جلسات آنلاین به شدت بالا ببره. پروژه‌ای که امروز تو رسانه آیسی‌مدار قراره با هم بسازیم، دقیقا همین مشکل رو حل می‌کنه. ما یک باکس کنترل کوچیک و جمع‌وجور می‌سازیم که با استفاده از برد آردوینو پرو میکرو (Arduino Pro Micro) کار می‌کنه. این دستگاه مثل یک کیبورد مجازی به کامپیوترت وصل می‌شه و با فشردن هر دکمه، کلیدهای میانبر نرم‌افزار زوم رو مستقیما به سیستم ارسال می‌کنه. ساخت این گجت خیلی سادست و نیاز به قطعات پیچیده‌ای نداره. با چند تا کلید فشاری و یه خورده لحیم‌کاری، می‌تونی یه ابزار فوق‌العاده کاربردی برای میز کارت بسازی. بریم سراغ قطعات و شروع این پروژه جذاب!

قطعات موردنیاز

  • برد آردوینو پرو میکرو (Arduino Pro Micro)
  • 6 عدد کلید فشاری (Push-button)
  • یک جعبه پلاستیکی یا چوبی برای بدنه
  • کابل میکرو یو‌اس‌بی (microUSB)
  • مقداری سیم رشته‌ای رنگی (کابل فلت)
  • هویه، سیم لحیم، سیم‌چین و سیم‌لخت‌کن
  • لیبل‌زن (یا کاغذ و چسب برای نوشتن اسم دکمه‌ها)
  • دستگاه چسب حرارتی
مرحله ۱

آماده‌سازی جعبه و سوراخ‌کاری

اول از همه باید یه قاب مناسب برای این کیبورد کوچیک پیدا کنی. ایده‌های زیادی برای این کار وجود داره و بستگی به امکاناتی داره که در دسترس داری.

  • می‌تونی از جعبه‌های پلاستیکی آماده (پروژه باکس‌های ABS) تو بازار استفاده کنی. سوراخ کردن این جعبه‌ها راحته، فقط ممکنه پیدا کردن سایز دقیق و دلخواهت کمی سخت باشه.
  • قاب‌های قدیمی نوار کاست یا جعبه‌های مینی‌کامپیوترها (مثل رزبری پای) هم گزینه‌های خوبی هستن. البته پلاستیک این قاب‌ها معمولا شکننده‌ست و موقع دریل‌کاری ممکنه ترک بخوره. برای جلوگیری از شکستن پلاستیک می‌تونی قبل از سوراخ‌کاری دو طرفش رو چسب کاغذی بزنی یا اینکه یه سوراخ کوچیک ایجاد کنی و با فرز مینیاتوری بزرگش کنی.
  • اگر به پرینتر سه‌بعدی دسترسی داری که کار فوق‌العاده راحت و تمیز می‌شه؛ می‌تونی دقیقا جعبه‌ای با ابعاد دلخواهت چاپ کنی یا حتی از چوب‌های نازک با دستگاه برش لیزر یه قاب جذاب بسازی.

اگر از کلیدهای فشاری استاندارد مشابه مال من استفاده می‌کنی، به 6 تا سوراخ 15 میلی‌متری نیاز داری. حواست باشه فاصله‌شون رو طوری تنظیم کنی که بعدا بتونی زیر هر دکمه یه لیبل کوچیک برای مشخص کردن کارکردش بچسبونی.

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

مرحله ۲

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

بریم سراغ بخش جذاب لحیم‌کاری! برد آردوینو پرو میکرو رو بردار و پین‌های شماره 8، 9، 10، A0، A1 و A2 رو روش پیدا کن. حالا کابل فلت رنگی رو بیار و 6 رشته ازش جدا کن.

هر کدوم از این رشته سیم‌های رنگی رو به یکی از این پین‌های آردوینو و سر دیگه‌شون رو به یکی از پایه‌های کلیدهای فشاری (از کلید 1 تا 6) لحیم کن. استفاده از سیم‌های رنگی باعث می‌شه کارت منظم بمونه.

حالا باید پایه دوم تمام این 6 تا کلید رو به همدیگه وصل کنی (سری کردن پایه‌های باقی‌مونده). بعد از اینکه پایه‌ها رو به هم وصل کردی، یک سیم ازشون بگیر و اون رو مستقیما به پین GND (زمین) روی برد آردوینو متصل کن تا مدار دکمه‌ها تکمیل بشه.

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

مرحله ۳

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

حالا وقتشه که به این قطعات سخت‌افزاری جون بدیم. اگر نرم‌افزار آردوینو (Arduino IDE) رو نداری، اول از سایت رسمیش دانلود و نصبش کن. فایل کدهای پروژه رو باز کن (نرم‌افزار ممکنه ازت بخواد فایل رو تو پوشه‌ای هم‌نام خودش قرار بده که تاییدش کن). باید کتابخونه مربوط به شبیه‌سازی کیبورد رو نصب کنیم. از منوی بالا مسیر Tools و بعد Manage Libraries رو انتخاب کن.

تو کادر جستجو کلمه HID-Project رو تایپ کن. وقتی کتابخونه‌ای به اسم HID-Project by NicoHood رو دیدی، دکمه Install رو بزن تا نصب بشه و بعد پنجره رو ببند.

حالا باید برد رو انتخاب کنیم. از منوی Tools برو به قسمت Board و بعد SparkFun AVR Boards رو باز کن و SparkFun Pro Micro رو انتخاب کن. اگر گزینه SparkFun AVR Boards رو تو لیست ندیدی، باید از قسمت Boards Manager کلمه Sparkfun AVR Boards رو سرچ و نصبش کنی. بعد از نصب، دوباره مسیر بالا رو برو و برد رو روی Pro Micro تنظیم کن.

حالا تو منوی Tools، گزینه Board باید روی Sparkfun Pro Micro باشه. قسمت Processor رو هم روی ATmega32U4 (5 ولت, 16MHz) قرار بده. تو همین منو، روی Port کلیک کن و ببین چه پورت‌هایی الان فعال هستن. دستگاهت رو با کابل USB به سیستم وصل کن. دوباره برو به منوی Port؛ می‌بینی که یه پورت جدید اضافه شده. همون رو انتخاب کن.

همه‌چیز برای انتقال برنامه‌ آماده‌ست! از منوی بالا گزینه Sketch و بعد Upload رو بزن. پایین صفحه نرم‌افزار می‌بینی که کدها دارن کامپایل می‌شن و بعدش آپلود شروع می‌شه.

یه سری علامت # روی صفحه پر می‌شه و در نهایت پیغام avrdude done. Thank you رو می‌بینی. این یعنی برد با موفقیت برنامه‌ریزی شده!

اگر به مشکل خوردی:

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

مرحله ۴

تنظیم میانبرها در نرم‌افزار زوم

دستگاهت الان به عنوان یه کیبورد شناخته می‌شه، اما باید به نرم‌افزار زوم بگیم که با زدن این دکمه‌ها چه عکس‌العملی نشون بده. برنامه زوم رو باز کن، روی آیکون چرخ‌دنده (Settings) گوشه بالا کلیک کن و برو تو بخش Keyboard Shortcuts. جلوی اون عملکردهایی که می‌خوای با باکس کنترلت انجامشون بدی، تیک گزینه Enable Global Shortcut رو فعال کن.

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

مرحله ۵

توسعه پروژه و شخصی‌سازی دکمه‌ها

تغییر ترکیب کلیدها

شاید بخوای ترکیب کلیدها رو تغییر بدی یا میانبرهای دیگه‌ای رو به دکمه‌ها اختصاص بدی. ویرایش کدهای آردوینو برای این کار خیلی راحته! تو فایل برنامه اسکرول کن تا به خطوط شرطی برسی.

تو بخش سوئیچ‌کیس‌ها (Switch-case)، می‌بینی که برای هر کدوم از 6 دکمه (شماره‌گذاری از 0 تا 5) ترکیب کلیدها نوشته شده. برای کلیدهای ترکیبی مثل Shift، Ctrl یا Alt از دستورهای BootKeyboard.press (فشردن) و Boot.Keyboard.release (رها کردن) استفاده شده. برای کلیدهای معمولی، تابع BootKeyboard.write کلید رو فشار می‌ده و فورا رها می‌کنه.

برای پیدا کردن اسم دقیق کلیدها تو کتابخونه، می‌تونی بری به پوشه داکیومنت‌ها (My Documents\Arduino) و تو مسیر libraries\HID-Project\src\KeyboardLayouts فایل ImprovedKeylayouts.h رو با برنامه Notepad باز کنی و لیست کامل کلیدها رو ببینی.

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

تست عملکرد دکمه‌ها

برای تست اینکه آیا دکمه‌ها دارن درست کار می‌کنن یا نه، می‌تونی تو کد برنامه، درست قبل از بخش سوئیچ‌کیس، عبارت #if 1 رو به #if 0 تغییر بدی. با این کار، به جای ارسال شورت‌کات، دستگاهت موقع فشرده شدن دکمه‌ها اعداد 0 تا 5 رو تایپ می‌کنه که می‌تونی تو برنامه Notepad تستشون کنی.

اضافه کردن کنترل ولوم یا چراغ وضعیت (ال‌ای‌دی)

تو کدهای این برنامه، کدهای مربوط به تنظیم صدای ویندوز و چراغ Caps Lock هم گنجونده شده. بالای کدها چند خط می‌بینی که با دو تا اسلش (//) غیرفعال شدن. برای فعال کردنشون کافیه اسلش‌های قبل از VOLUME و KYBDLEDS رو پاک کنی و قطعات سخت‌افزاری مربوط به ولوم چرخشی رو به مدارت اضافه کنی.

ساخت این کیبورد کوچیک نشون می‌ده که چطور با یه برد ارزون آردوینو می‌شه ابزارهایی ساخت که کار روزمره رو بی‌نهایت راحت‌تر می‌کنن. الان دیگه تو جلسات زوم تسلط کامل داری و با یه دکمه می‌تونی میکروفون و دوربین رو مدیریت کنی. امیدوارم از این آموزش اختصاصی در آیسی‌مدار لذت برده باشی. حتما این گجت کاربردی رو بساز، روی میز کارت بذار و ایده جذابش رو برای دوستانت بفرست!

فایل‌های پیوست

INO ZoomButtons.ino
INO ZoomButtons_2.ino

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!