موس، موشواره یا موشی وسیلهای آشنا از زمانهای دور است. زمانی که مخترع این وسیله کوچک و جالب جعبه کوچک و چوبی خود را ساخت تا بتواند رایانه را با آن کنترل کند؛ هیچ وقت تصور نمیکرد تمامی کامپیوترهای پس از آن تا به امروز به این وسیله جالب مجهز شوند. همچنین برای ادامه حیاط نیازمند آن باشند! البته موسهای امروزی به مراتب پیشرفتهتر و به روزتر شدهاند که ما در این آموزش قصد داریم نحوه ارتباط یک موس usb را با آردوینو Arduino با هم برسی کنیم. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
هدف آموزش اتصال Mouse به آردوینو
موس یک وسیله کنترلی است. انواع بیسیم موس برای کنترل از راه دور رایانه طراحی شدهاند. هدف این است که پارامترهای دریافتی از این وسیله کنترلی مانند اسکرول کردن، کلیک راست و کلیک چپ، همچنین جابجایی ماتریس دوبعدی توسط سنسور موس را به پارامتر قابل فهم توسط آردوینو Arduino تبدیل کنیم. پس از این کار میتوانیم این پارامترها را در خروجی برای مدیریت یک ربات، یک بازو و یا موتور DC به کار ببریم.
کتابخانه USB Host Shiel
اتصالات شیلد USB Host به آردوینو
کد آموزش اتصال Mouse به آردوینو
#include <hidboot.h> #include <usbhub.h> #ifdef dobogusinclude #include <spi4teensy3.h> #endif #include <SPI.h> class MouseRptParser : public MouseReportParser { protected: void OnMouseMove (MOUSEINFO *mi); void OnLeftButtonUp (MOUSEINFO *mi); void OnLeftButtonDown (MOUSEINFO *mi); void OnRightButtonUp (MOUSEINFO *mi); void OnRightButtonDown (MOUSEINFO *mi); void OnMiddleButtonUp (MOUSEINFO *mi); void OnMiddleButtonDown (MOUSEINFO *mi); }; void MouseRptParser::OnMouseMove(MOUSEINFO *mi) { Serial.print("dx="); Serial.print(mi->dX, DEC); Serial.print(" dy="); Serial.println(mi->dY, DEC); }; void MouseRptParser::OnLeftButtonUp (MOUSEINFO *mi) { Serial.println("L Butt Up"); }; void MouseRptParser::OnLeftButtonDown (MOUSEINFO *mi) { Serial.println("L Butt Dn"); }; void MouseRptParser::OnRightButtonUp (MOUSEINFO *mi) { Serial.println("R Butt Up"); }; void MouseRptParser::OnRightButtonDown (MOUSEINFO *mi) { Serial.println("R Butt Dn"); }; void MouseRptParser::OnMiddleButtonUp (MOUSEINFO *mi) { Serial.println("M Butt Up"); }; void MouseRptParser::OnMiddleButtonDown (MOUSEINFO *mi) { Serial.println("M Butt Dn"); }; USB Usb; USBHub Hub(&Usb); HIDBoot<USB_HID_PROTOCOL_MOUSE> HidMouse(&Usb); MouseRptParser Prs; void setup() { Serial.begin( 115200 ); #if !defined(__MIPSEL__) while (!Serial); #endif Serial.println("Start"); if (Usb.Init() == -1) Serial.println("OSC did not start."); delay( 200 ); HidMouse.SetReportParser(0, &Prs); } void loop() { Usb.Task(); }
مشاهده خروجی در سریال مانیتور آردوینو
سریال مانیتور نرم افزار آردوینو Arduino را باز کنید. حالا خروجی حرکت موس Mouse را میبینید. همانطور که میبینید حرکت موس به چپ و راست و فشردن کلیدها قابل مشاهده است.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
با اتصال دانگل های زیگبی،زدویو و شبیه اون به آردوینو امکان اتصال به هاب و گیت وی های تجهیزات خانه هوشمنو هست یا خیر؟
با سلام و تشکر از توجه شما . بله امکان پذیره دوست عزیز البته بستگی به تولید کننده اون هم داره بعضی از شرکت ها به صورت اوپن سورس ارائه میکنند محصولاتشون رو و حتی api و کد های آماده واسه اینکار هست ولی بعضی از تولید کننده ها برای امنیت یا به دلایل دیگه این امکان رو محدود کردند و برای ارتباط برقرا کردن نیاز به صرف وقت و هزینه بیشتری خواهید داشت.
با تشکر از قراردادن این آموزش خوب و مفید، لطفا آموزش کامل کار با دستگاه مولتی متر رو هم تهیه کنید.
ممنون
سلام و عرض ادب و با تشکر از آموزش های خوبتون ، بنده قصد دارم با BASCOM-AVR و آردینو ی لئوناردو پروژه ی خودم رو ببندم ، میخواستم ببینم آموزشی در این مورد برای راه اندازی آردینو با بسکام هست یا نه. با تشکر
با سلام و تشکر از توجه جنابعالی در این مورد داخل وبسایت آموزشی داده نشده اما قطعا اگر گوگل بفرمایید منابع خوبی پیدا خواهید کرد برای این کار .
میشه بگید چه طور اردینو روبه در منزل وصل کنم
با سلام و تشکر از توجه شما برای این منظور میتوانید از یک ماژول رله استفاده کنید
http://digispark.ir/relay-in-iot-project/
سلام تشکر از مطلب مفیدتون آیا با برد آردوینو DUE هم این پروژه قابل اجراست؟ تشکر
با سلام و تشکر از توجه شما. بله شما میتوانید به راحتی شیلد را روی برد نصب کنید .
سلام
میشه به این شیلد دسته جوی استیک وصل کرد ؟
مدل هایی که ساپورت میکنه رو بگید ممنون میشم
سلام من می خوام با اردواینو uno مثل کیبورد به لپ تاپم فرمان بدم و مثلا به کمک اون تایپ کنم . بعد از کلی سرچ متوجه شدم باید از کتابخانه ی کیبورد استفاده کنم ولی اردواینو یونو این کتابخانه را نمیشناسه . من نمی خوام یه کیبورد usb رو به اردواینو وصل کنم بلکه می خوام با دادن ورودی به پایه های خود اردواینو فرمان فشرده شدن کلید ها به لپ تاپ ارسال بشه . کسی می تونه کمکم کنه؟
با سلام
برای این منظور به آموزش کتابخانه keyboard آردوینو بخش اول و بخش دوم و بخش سوم کتابخانه کیبورد آردوینو مراجعه بفرمایید. سپس سوالات تکمیلی را از بخش نظرات همان آموزش مطرح بفرمایید.
با سلام
همانطور که در ابتدای این آموزش کتابخانه کیبورد اشاره گردیده است، کاربرد این کتابخانه بر روی بردهای Zero، Leonardo و DUE می باشد. برای اینکه بتوان بر روی برد UNO از کتابخانه کیبورد استفاده کنید و یا مانند یک کیبورد از آن بهره بگیرید، لازم است فریم ورک آن را تغییر دهید. به زودی آموزشی در ارتباط با این موضوع قرار خواهد گرفت.
با سلام
می خواستم بدونم که آیا امکان این هست که چند تا از این شیلد ها را بر روی یک آردوینو سوار کرد و همزمان چند موس را به یک آردوینو متصل کرد و اطلاعات چند موس را همزمان در سریال آردوینو نمایش داد ؟!
با سلام
بنده در این خصوص تجربه عملی ندارم. ولی شیلد Usb Host یک خروجی USB دارد. موارد را از طریق دیگری اقدام کنید. سپس تجربه عملی تان را از همین طریق برای دیگر کاربران منتشر کنید.
سلام من پروگرم که میکنم خطا میده
کتابخانه هایی که در این کد هست رو از کجا باید دانلود کنم
با سلام
کتابخانهها در ابتدای کدها هستند ولی بنده مجددا لیست میکنم. بایستی همگی را دانلود و روی سیستم نصب کنید.
hidboot.h
usbhub.h
spi4teensy3.h
SPI.h