ساخت موس کامپیوتر
شاید در نگاه اول ساخت موس کامپیوتر (Computer mouse) برای خیلی از افراد کاری دشوار به نظر برسد و برخی بر این باور باشند که ساخت یک موس کامپیوتر به قطعات خاص و انحصاری نیاز داشته باشد. به همین دلیل در این پروژه آردوینو از مبحث آموزش آردوینو می خواهیم شما را با نحوه برنامه نویسی و ساخت یک موس کامپیوتر را توسط برد آردوینو Arduino و ماژول جوی استیک (Joystick module) آشنا کنیم.
شاید برای برخی از خوانندگان این مطلب این سوال پیش آید که وقتی موس کامپیوتر به صورت آماده و با قیمت های مناسب در بازار موجود است چرا باید اقدام به ساخت آن کنیم؟ در پاسخ این سوال به صورت کوتاه می توان اینگونه گفت، در برخی از پروژه ها و ساخت تجهیزات صنعتی نیاز داریم تا از موس به سبک و شکل های اختصاصی مورد نیاز آن استفاده کنیم، به همین جهت نیاز داریم موس را بنا به شکل مورد نیاز پروژه توسعه دهیم و برای توسعه یک محصول نیز باید ابتدا بتوانیم نمونه اولیه آنرا بسازیم.
ماژول جوی استیک
این ماژول در طراحی اغلب دسته های کنسول های بازی مورد استفاده قرار می گیرد، به طوریکه با حرکت آن در جهت های مختلف مکان نمای نمایشگر نیز به همان مختصات هدایت می شود. ساختمان این ماژول و عملکرد آن بسیار ساده است، به طوریکه در ساخت آن تنها از کلید فشاری و دو عدد پتانسیومتر ایستاده که یکی از آن ها در محور X و دیگری در محور Y قرار گرفته، استفاده شده است.
محور لغزان ماژول جوی استیک طوری بین دو پتانسیومتر جاسازی شده است که با حرکت آن در جهات مختلف، مقدار مقاومت پتانسیومتر ها نیز به همان مقدار تغییر می کند، که با توجه به تغییرات ایجاد شده در مقدار مقاومت دو پتانسیومتر می توان جهت حرکت محور جوی استیک را تشخیص داد.
لیست قطعات مورد نیاز
برد آردوینو مدل Arduino Leonardo R3 | 1 عدد |
ماژول دومحوره جواستیک مدل KY-023 | 1 عدد |
تک سوئیچ 2 پایه DIP سایز 6x6x5 میلیمتر | 2 عدد |
لامپ LED قرمز سایز 5mm میلی متر مدل مات | 1 عدد |
مقاومت 330 اهم با توان 0.25 وات و تلرانس 1 درصد | 1 عدد |
کلید کشویی 3 پایه مدل رایت | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نقشه شماتیک پروژه ساخت موس کامپیوتر با ماژول جوی استیک و آردوینو
برنامه پروژه در نرم افزار آردوینو
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#include <Mouse.h> const int LED1 = 2; const int LEFT_CLICK = 3; const int RIGHT_CLICK = 4; const int TOGGLESWITCH = 5; const int x_axis = 0; const int y_axis = 1; const int speed_mouse = 20; void setup() { Mouse.begin(); pinMode(LED1, OUTPUT); pinMode(TOGGLESWITCH, INPUT); pinMode(LEFT_CLICK, INPUT_PULLUP); pinMode(RIGHT_CLICK, INPUT_PULLUP); pinMode(x_axis, INPUT); pinMode(y_axis, INPUT); } void loop() { while (digitalRead(TOGGLESWITCH) == HIGH) { digitalWrite(LED1, HIGH); int x_val = readJoystick(x_axis); int y_val = readJoystick(y_axis); Mouse.move(x_val, y_val, 0); readClick(LEFT_CLICK, MOUSE_LEFT); readClick(RIGHT_CLICK, MOUSE_RIGHT); delay(speed_mouse); } digitalWrite(LED1, LOW); } int readJoystick(int axis) { float value = map(analogRead(axis), 0, 1023, -10, 10); if (value <= 1 && value >= -1) { return 0; } else { return value; } } void readClick(int pin, char mouse_command) { if (digitalRead(pin) == LOW) { if (!Mouse.isPressed(mouse_command)) { Mouse.press(mouse_command); } } else { if (Mouse.isPressed(mouse_command)) { Mouse.release(mouse_command); } } } |
سلام خسته نباشید .مبدل ۱۲ به ۲۲۰ ولت که اموزشش رو تو سایت قرار دادین،چند واته؟شماتیک و نقشه مدار و مشخصات قطعات رو هم لطف کنید ممنون میشم.
سلام دوست عزیز
لطفا سوال خود را در قسمت نظرات همان پست بیان کنید.
سلام
آیا میشه بجای آردوینو هایی که معرفی کردید از آردوینو uno استفاده کنیم؟
ممنون
سلام دوست عزیز
خیر نمی توان، چراکه قابلیت پورت مجازی فقط در برد آردوینو Arduino Leonardo یا Arduino Pro Micro موجود می باشد.
سلام میشه اندروید هم باهاش کنترل کرد
سلام دوست عزیز
بستگی به مدل گوشی موبایل داره اگه موبایل شما از OTG پشتیبانی کنه به احتمال بسیار زیاد این امکان مقدور باشه.
سلام
در این پروژه ای که آموزش دادید، اگر من بخواهم بجای استفاده از جوی استیک، از ولوم روتاری استفاده کنم، امکان پذیر هست؟
یعنی برای حرکت موس به چپ و راست از یک ولوم روتاری استفاده کنم؛ و برای حرکت موس به بالا و پایین از یک ولوم روتاری دیگر استفاده کنم.
سلام دوست عزیز
بله می توانید اینکار انجام دهید اما برنامه پروژه را برای راه اندازی روتاری باید توسعه بدهید.
آقای اکبری، آیا امکانش هست مثل این آموزشی که برای جوی استیک قرار دادید، برای ساخت همچین چیزی که عرض کردم، آموزش بزارید؟
یعنی با استفاده از 2 عدد ولوم روتاری حرکت موس را کنترل کنیم.
البته اگر بشود اسکرول موس را هم با ولوم روتاری کنترل کرد، عالی میشه.
با نشکر از شما.
سلام دوست عزیز
در سایت مطلبی با عنوان راه اندازی روتاری با آردوینو منتشر کرده ایم که لینک آنرا در زیر قرار دادم، می توانید از آن آموزش برای توسعه این برنامه استفاده کنید.
اندازه گیری زاویه حرکت شفت با روتاری انکودر و برد آردوینو
سلام ممنون بابت آموزش های خوبتون . همین برد رو میشه بجای موس برای صفحه کلید استفاده کرد ؟ میشه لطفاً آموزش اتصال صفحه کلید به کامپیوتر رو هم بزارید لطفا
سلام خدمت گروه الکترونیک۹۸
یه سوال: این پروژه جوی استیک بر روی دستگاه DVR از طریقUSB کار میکند؟