راه اندازی Joystick با استفاده از Arduino
با یکی دیگر از آموزش های Arduino در خدمتتون هستیم. این بار راه اندازی و استفاده از یک المان ضروری در پروژه های الکترونیکی و رباتیکی را آموزش خواهیم داد. این وسیله که به صورت ماژول نیز در دسترس میباشد جوی استیک می باشد که نمونه های آن را دیده ایم مثل جوی استیک دسته های کنسول بازی.
اگر بخواهیم کمی در مورد ساختار داخلی این ماژول بگوییم این ماژول تشکیل شده از دو مقاومت متغیر که یکی از آنها وظیفه کنترل حرکات عمودی و دیگری وظیفه کنترل حرکات افقی را بر عهده دارد و همچنین یک سوییچ برای استفاده های کاربردی در آن تعبیه شده که با فشار دادن جوی استیک عمل میکند.
در واقع با حرکت این جوی استیک ها مقاومت ها دائما در حال تغییر هستند و کاملا مشخص هست که کافیست مقدار تغییر مقاومت ها را اندازه گیری کنیم تا نسبت به تغییرات وسیله های دیگر را کنترل کنیم.
همانطور که میدانیم تغییرات مقاومتی جوی استیک مقادیر آنالوگ و پیوسته ای هستند و برای کنترلرها نامفهومند و برای خوانا کردن این مقادیر برای کنترلر از واحد ADC که در کنترلر تعبیه شده استفاده میکنیم.در اینجا هم به راحتی با استفاده از پایه های آنالوگ Arduino میتوان این اطلاعات را دیجیتال کرده و مورد پردازش قرار داد.
برای ایجاد این پروژه به وسایل زیر نیاز هست:
- یک عدد برد آردوینو UNO
- یک عدد ماژول جوی استیک
شماتیک پروژه راه اندازی joystick با استفاده از Arduino
- پایه شماره 1 –> GND
- پایه شماره 2 –> Vcc
- پایه شماره 3 –> VRx – محور عمودی
- پایه شماره 4 –> VRy – محور افقی
- پایه شماره 5 –> SW – تک سوییچ جوی استیک
و در نهایت سورس کد پروژه راه اندازی joystick با استفاده از Arduino
const int VRxPin= 0; const int VRyPin= 1; const int SwButtonPin= 8; int pressed= -1; int x= -1; int y= -1; void readJoystick() { pressed= digitalRead(SwButtonPin); x= analogRead(VRxPin); y= analogRead(VRyPin); } void setup() { pinMode(SwButtonPin, INPUT); digitalWrite(SwButtonPin, HIGH); Serial.begin(115200); } void loop() { readJoystick(); Serial.print("X: "); Serial.println(x); Serial.print("Y: "); Serial.println(y); Serial.print (" Pressed: "); Serial.println(pressed); delay(25); }
در این برنامه مقادیر متغییر دو محور X و Y از طریق ADC برد آردوینو خوانده می شود و در ترمینال سریال برنامه آردوینو نمایش داده می شود.
در آموزش های بعدی کنترل موتور همراه با مانیتورینگ این ماژول آموزش داده خواهد شد.
سلام من دو تا joy stick از دسته بازی برداشتم هرکاری می کنم نمی تونم v5 و gnd اش رو مشخص کنم ؟ باید چیکار کنم ؟ اینم از عکسش … ممنون میشم راهنماییم کنین
http://s8.picofile.com/file/8332619426/1532416924975_1432291960.jpg
سلام
جهت طرح سوالات علمی خود به انجمن مراجعه کنید: http://www.eca.ir/forums
سلام
ضمن تشکر ,لطفا بفرمایید چرا در ابتدا مقادیر x و y و pressed را برابر 1- گذاشتید?
ممنان