ماژول جویستیک دو جهته مهندسیکا مدل JOYSTICK x-y
ماژولهای سازگار با آردوینو به دسته ای از قطعات الکترونیک گفته میشود که علاوه بر سازگاری مشخصات پایه های ورودی و خروجی قابلیت دسترسی به کدهای برنامه نویسی و توابع کتابخانه ای ماژول نیز به سادگی میسر است.این ماژولها همچنین به روشهای ساده تری قابل راه اندازی هستند که نیازی به میکرومنترلر ندارند با توجه به سطح ولتاژ ماژول میتوان به راحتی با ماژول رله 5 ولت مهندسیکا عملکرد را مشاهده نمود، ماژول جوی استیک دو جهته کاربردهای متنوعی در رباتیک وهوشمند سازی دارد.
DUAL-AXIS XY JOYSTICK
بسیاری از پروژه روبات به جوی استیک نیاز دارند. این ماژول راه حل مناسبی برای این کار فراهم می کند، خروجی های این ماژول به دو ورودی آنالوگ متصل می شود تا روبات مطابق دستورات شما با X و Y کنترل شود، همچنین این ماژول دارای یک سویچ است که می تواند به پین دیجیتال متصل شود، ماژول جوی استیک نیز مثل سایر ماژول ها به آسانی به آردوینو و سایر میکروکنترلها قابل اتصال است.
جوی استیک احتمالا بیشترین وسیله است که گیمر ها با آن سرو کار دارند، به زبان ساده جوی استیک وسیله ای است که حرکات دست شما را به سیگنال الکتریکی تبدیل می کند. راحتی استفاده از جوی استیک باعث شده هنگام کار با آن واقعا حس کنید درون بازی یا درون رباتی که کنترل می کنید هستید.
جوی استیک ( JoyStick ) یک سنسور آنالوگ می باشد که معمولا برای کارهای کنترلی مورد استفاده قرار می گیرد. درون جوی استیک دو عدد پتانسیومتر ( یکی در راستای محور X و دیگری در راستای محور Y ) قرار دارد که با توجه به میزان منحرف شدن از مرکز مقدار مقاومت این دو پتانسیومتر تغییر می کند و با خواندن توسط واحد ADC آردوینو میتوان آن را به دیجیتال تبدیل کرد. همچنین درون جوی استیک یک عدد کلید ( Push Button ) نیز وجود دارد که در صورت فشرده شدن جوی استیک آن کلید نیز فشرده می شود.
اساس کار جوی استیک بر تغییر مقاومت دو پتانسیومتر معمولا ۱۰ کیلوی اهمی استوار است، دو پتانسیومتر برای محور x و y قرار داده شده که با تغییر مقاومت این پتانسیومتر ها و تبدیل این مقاومت به ولتاژ الکتریکی و خواندن ولتاژ توسط آردوینو (یا هر پردازنده دیگری) می توان موقعیت x و y را تخمین زد. برای این کار، پردازنده باید واحد ADC داشته باشد تا مقدار آنالوگ خوانده شده توسط جوی استیک را به مقدار دیجیتال تبدیل کند و بر اساس این مقدار دیجیتال عملیات مورد نظر را انجام دهد.
برد آردوینو ۶ کانال ADC ده بیتی دارد، یعنی ۵ ولت مرجع را به ۱۰۲۴ بخش تقسیم می کند، وقتی جوی استیک را مثلا در محور x از ابتدا به انتهای مسیر خود می بریم مقدار ADC آن از ۰ تا ۱۰۲۳ تغییر می کند و وقتی در موقعیت رها در مرکز قرار دارد مقدار آن ۵۱۲ خواهد بود. شکل زیر مقدار تقریبی ADS را باتوجه به موقعیت سر جوی استیک نشان میدهد.
- پایه های این سنسور را در شکل زیر مشاهده می کنید.
راه اندازی با ماژول آردوینو نانو Arduino nano
الف ) شماتیک اتصالات بر روی بردبورد
مطابق شکل :
- پایهء GND سنسور را به پایه GND یا گراند آردوینو وصل نمایید.
- پایهء مثبت +۵V سنسور را به پایه +۵ ولت آردوینو وصل نمایید.
- پایه VRx خروجی آنالوگ محور X، معمولا محور X معرف حرکت چپ و راست است به پایه A0 آردوینو
- پایه VRy خروجی آنالوگ محور y، معمولا محور Y ومعرف حرکت بالا و پایین است به پایه A1 آردوینو
- پایه SW برای کلید که بصورت pull-up داخلی قرار گرفته است، یعنی با فشردن کلید مقدار ۰ روی پایه SW قرار می گیرد. به پایه D2 آردوینو وصل نمایید
راه اندازی با ماژول آردوینو اونو Arduino UNO
الف ) شماتیک اتصالات بر روی ماژول
مطابق شکل :
- پایهء GND سنسور را به پایه GND یا گراند آردوینو وصل نمایید.
- پایهء مثبت +۵V سنسور را به پایه +۵ ولت آردوینو وصل نمایید.
- پایه VRx خروجی آنالوگ محور X، معمولا محور X معرف حرکت چپ و راست است به پایه A0 آردوینو
- پایه VRy خروجی آنالوگ محور y، معمولا محور Y ومعرف حرکت بالا و پایین است به پایه A1 آردوینو
- پایه SW برای کلید که بصورت pull-up داخلی قرار گرفته است، یعنی با فشردن کلید مقدار ۰ روی پایه SW قرار می گیرد. به پایه D2 آردوینو وصل نمایید
کدهای برنامه نویسی آردوینو نانو و اونو
جهت پروگرام کردن با کابل تبدبل USB ماژول آردوینو را به کامپیوتر متصل نمایید .
لینک برنامه آردوینو : ۰۴۹_sketch_Joystick_X-Y
- // Arduino pin numbers
- //www.mohandesika.com
- const int SW_pin = 2; // digital pin connected to switch output
- const int X_pin = A0; // analog pin connected to X output
- const int Y_pin = A1; // analog pin connected to Y output
- void setup() {
- pinMode(SW_pin, INPUT);
- digitalWrite(SW_pin, HIGH);
- begin(9600);
- println(“Dual Axis Xy Joystick Module”);
- println(“www.mohandesika.com”);
- }
- void loop() {
- print(“Switch: “);
- print(digitalRead(SW_pin));
- print(“\n”);
- print(“X-axis: “);
- print(analogRead(X_pin));
- print(“\n”);
- print(“Y-axis: “);
- println(analogRead(Y_pin));
- print(“\n\n”);
- delay(500);
- }
ج ) پایه(سوئیچ) SW به یکی از پایه های دیجیتال ) پایه ۲ ( وصل شده است. این پایه ورودی و پول آپ باید باشد. پایه های VRx و VRy به ترتیب به پایه های A0 و A1 آنالوگ متصل می گردند. درون حلقه مقدار های SW و VRx و VRy خوانده می شود و توسط Serial.print به کامپیوتر ارسال می گردد.
درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده این سنسور را ببینید .
وزن | 100 kg |
---|---|
ابعاد | 10 × 10 × 5 cm |
محصولات مشابه
Electronic KITs