فهرست مطالب:

[ماوس پوشیدنی] کنترل کننده ماوس مبتنی بر بلوتوث برای ویندوز 10 و لینوکس: 5 مرحله
[ماوس پوشیدنی] کنترل کننده ماوس مبتنی بر بلوتوث برای ویندوز 10 و لینوکس: 5 مرحله

تصویری: [ماوس پوشیدنی] کنترل کننده ماوس مبتنی بر بلوتوث برای ویندوز 10 و لینوکس: 5 مرحله

تصویری: [ماوس پوشیدنی] کنترل کننده ماوس مبتنی بر بلوتوث برای ویندوز 10 و لینوکس: 5 مرحله
تصویری: Dragclick - Bloody A91 VS Bloody A7 - 70+ CPS - #StopAutoclicking 2024, نوامبر
Anonim
Image
Image
رابط شتاب سنج با رزبری پای
رابط شتاب سنج با رزبری پای

من یک کنترل کننده ماوس مبتنی بر بلوتوث ساختم که می تواند برای کنترل اشاره گر ماوس و انجام عملیات مربوط به ماوس رایانه ای در حال پرواز ، بدون لمس سطحی استفاده شود. مدار الکترونیکی ، که روی یک دستکش تعبیه شده است ، می تواند برای ردیابی حرکات دست از طریق شتاب سنج مورد استفاده قرار گیرد و می تواند به حرکت اشاره گر ماوس تبدیل شود. این دستگاه همچنین دارای دکمه ای است که کلیک چپ را تکرار می کند. دستگاه را می توان به صورت سری به رایانه (از طریق USB) یا بی سیم از طریق اتصال بلوتوث متصل کرد. بلوتوث یک ارتباط بی سیم قوی و جهانی بین دستگاه میزبان و این ماوس پوشیدنی فراهم می کند. از آنجا که بلوتوث به طور گسترده در دسترس است و تقریباً با همه لپ تاپ های شخصی تعبیه شده است ، موارد استفاده از چنین دستگاه های پوشیدنی گسترده است. استفاده از Raspberry Pi ، که یک پلت فرم توسعه متداول برای پروژه های مختلف است ، ارتباط سنسورهای مختلف و توسعه چنین دستگاهی آسان و مقیاس پذیر است. این دستکش را می توان با هر نوع پوشیدنی دیگری جایگزین کرد تا کاربرد آن گسترده تر شود.

به عنوان یک اقدام احتیاطی در برابر COVID-19 ، توصیه می شود از دست زدن به سطوحی که بین افراد مختلف به اشتراک گذاشته می شود اجتناب کنید ، و یک لپ تاپ با صفحه لمسی یا ماوس می تواند از جمله سطوح رایج باشد. استفاده از چنین وسیله پوشیدنی به حفظ بهداشت و ضدعفونی سطوح متداول کمک می کند:)

تدارکات

  • رزبری پای 3 مدل B V1.2
  • Breakout شتاب سنج سه محوره SparkFun - MMA8452Q
  • نر به زن جهنده وایر
  • یک دستکش
  • نوار چسب
  • قیچی
  • کابل میکرو USB
  • کابل HDMI (برای اشکال زدایی از طریق رزبری پای)

مرحله 1: رابط شتاب سنج با رزبری پای

رابط شتاب سنج با رزبری پای
رابط شتاب سنج با رزبری پای

من از شتاب سنج MMA8542Q سه محوره از Sparkfun استفاده کردم که از پروتکل ارتباطی I2C برای صحبت با پین های Raspberry Pi GPIO و ارسال داده های محورها استفاده می کند. این سنسور حالت های مختلف عملکرد را با سرعت داده های قابل تنظیم ، حالت خواب ، محدوده شتاب ، حالت فیلتر و غیره ارائه می دهد. من متوجه شدم کد Pibits در پیکربندی اولیه سنسور و آزمایش آن با حرکات دست من بسیار مفید است. بهتر است ابتدا سنسور را بر روی یک سطح صاف قرار دهید و با رعایت مقادیر خام سنسور ، شیب قطعی ایجاد کنید. این امر به ویژه در درک نحوه واکنش این حسگر با حرکات مختلف دست و نحوه تعیین آستانه برای برنامه ما مفید است. هنگامی که شتاب سنج با موفقیت ارتباط برقرار کرد ، می توانید داده های محورهای خام را روی صفحه پایانه پای مشاهده کنید.

مرحله 2: رابط دکمه فشاری با رزبری پای

رابط دکمه فشاری با رزبری پای
رابط دکمه فشاری با رزبری پای

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

مرحله 3: توسعه Python Script برای کنترل سری اشاره گر ماوس

من از کتابخانه Pyautogui Python برای کنترل اشاره گر ماوس استفاده کردم. دلیل استفاده از این کتابخانه این بود که هم در لینوکس و هم در پلتفرم ویندوز کار می کند. به منظور کنترل اشاره گر ماوس روی رزبری پای من ، ابتدا Pi خود را به یک صفحه نمایش متصل کردم. سپس ، از API های زیر ارائه شده توسط کتابخانه برای کنترل اشاره گر ماوس استفاده کردم:

  1. pyautogui.move (0 ، 200 ، 2) # ماوس را در عرض 2 ثانیه 200 پیکسل به سمت پایین حرکت می دهد
  2. pyautogui.click () # ماوس را کلیک کنید

به منظور فیلتر کردن داده های خطای ناشی از شتاب سنج ، از میانگین یابی و سایر روشهای فیلترینگ استفاده کردم که به راحتی از طریق کد پیوست قابل درک است. API pyautogui.move (0 ، y) به گونه ای مورد استفاده قرار گرفت که نشانگر ماوس می تواند همزمان بالا یا پایین یا چپ-راست برود. این به این دلیل است که شتاب سنج محورها را در جهت X ، Y و Z گزارش می کند ، اما API فقط 2 آرگومان ، محور X و Y را می گیرد. بنابراین ، این روش برای شتاب سنج من و نقشه برداری از حرکات روی صفحه بسیار مناسب بود.

مرحله 4: توسعه Python Script برای کنترل نشانگر ماوس از طریق بلوتوث

توسعه پایتون اسکریپت برای کنترل اشاره گر ماوس از طریق بلوتوث
توسعه پایتون اسکریپت برای کنترل اشاره گر ماوس از طریق بلوتوث

این بخش یک برنامه کاربردی پیشرفته است که در آن هر لپ تاپ دارای قابلیت بلوتوث می تواند با Raspberry Pi در یک مدل ارتباطی سرور و مشتری ارتباط برقرار کند و داده های مختصات ماوس را به صورت بی سیم منتقل کند. به منظور راه اندازی یک لپ تاپ 64 بیتی ویندوز 10 برای ارتباط بلوتوث ، باید مراحل زیر را دنبال کنید:

ویندوز 10:

  1. یک پورت بلوتوث COM ورودی ایجاد کنید.
  2. بلوتوث Pi را با بلوتوث لپ تاپ جفت کنید و Pi را قابل کشف کنید.
  3. Python را روی ویندوز نصب کنید.
  4. pip را روی ویندوز نصب کنید. Pip برای نصب کتابخانه ها در دستگاه لینوکس یا ویندوز استفاده می شود.
  5. pyautogui را در Windows با استفاده از: pip install pyautogui نصب کنید
  6. پس از نصب pyautogui بر روی دستگاه ، Pybluez را در Windows با استفاده از دستور زیر در ترمینال Windows با استفاده از: pip install PyBluez-win10 نصب کنید. PyBluez ارتباط بلوتوث را در رایانه های شخصی ویندوز و لینوکس فعال می کند.
  7. برای توسعه برنامه روی لپ تاپ Windows 10 ، ما باید Microsoft Visual Studio (15-20 گیگابایت فضای مورد نیاز) و ابزارهای ساخت آن را نصب کنیم. بنابراین ، همراه با PyBluez ، ما باید دستورالعمل های زیر را دنبال کنیم ،

    1. "Visual Studio Installer" را بارگیری و اجرا کنید:
    2. "Visual Studio Build Tools 2017" را نصب کنید ، "Visual C ++ build tools" و "Universal Windows Platform tools build" را علامت بزنید.

    3. git clone
    4. سی دی پیبلوئز
    5. python setup.py install

  8. اگر دستورالعمل های بالا به درستی رعایت شود ، اجرای پایتون در ترمینال ویندوز و وارد کردن ماژول pyautogui و بلوتوث مطابق تصویر بالا باید بدون خطا کار کند.
  9. در کتابخانه pybluez که روی دستگاه Windows نصب شده است ، به آدرس: pybluez-master / example / simple / rfcomm-server.py بروید و با استفاده از python rfcomm-server.py اجرا کنید. اگر ترمینال بدون خطا به حالت انتظار می رود ، برای تنظیم بلوتوث روی Pi به قسمت زیر بروید. در صورت وجود خطا در نصب pybluez ، برای اشکال زدایی به مسائل GitHub مراجعه کنید.

Raspbian در Raspberry Pi:

  1. PyBluez را روی Pi نصب کنید
  2. مثال سرور را روی ویندوز اجرا کنید. سپس ، در Pi ، به pybluez-master / samples / simple / rfcomm-client.py بروید و اجرا کنید. اگر دو دستگاه شروع به برقراری ارتباط کرده اند ، اکنون بلوتوث روی هر دو دستگاه راه اندازی شده است. برای درک بیشتر نحوه عملکرد سوکت با پایتون ، به این پیوند از MIT مراجعه کنید.

برخی از تجزیه و تحلیل داده های اضافی برای ارسال داده های محورها از Pi به رایانه مورد نیاز است ، زیرا داده ها به صورت بایت ارسال می شوند. برای اطلاعات بیشتر در مورد ارتباط داده سرویس گیرنده و سرور به کد پیوست مراجعه کنید.

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

تعبیه شتاب سنج و دکمه روی دستکش
تعبیه شتاب سنج و دکمه روی دستکش
تعبیه شتاب سنج و دکمه روی دستکش
تعبیه شتاب سنج و دکمه روی دستکش

هنگامی که شتاب سنج به خوبی به هم متصل می شود ، سیستم اسکلت چیزی شبیه به تصویر اول در این مرحله به نظر می رسد.

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

توصیه شده: