سنسورکیت آردوینو ( راه اندازی جوی استیک joyStick)
با اولین آموزش از سری آموزشهای سنسورکیت آردوینو در خدمتتون هستم . در اولین آموزش به راه اندازی ماژول جوی استیک به همراه آردوینو Uno میپردازیم. در ادامهی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.
سخت افزار مورد نیاز
سنسورکیت آردوینو ( ماژول جوی استیک – joyStick) – جهت خرید سنسورکیت آردوینو به این لینک مراجعه نمایید.
جوی استیک Joystick چیست؟
اهرمی متشکل شده از دستهای است که در انتهای خود بر حول یک مقطه حرکت میکند و اطلاعات زاویه خود را به صورت دو بعدی یا سه بعدی به رایانه و یا ریزپردازنده میفرستد.
ماژول جوی استیک (joyStick) سنسور کیت آردوینو
این ماژول یک ماژول بسیار ساده با خروجی آنالوگ و قابلیت اندازه گیری مختصات اهرم جوی استیک در راستای دو محور x و y میباشد . این جوی استیک قابلیت حرکت در تمامی زوایا را داشته و همچنین دارای یک کلید فشاری نیز می باشد. از این جوی استیک می توان در ساخت انواع کنترلرهای ربات و کوادکوپتر و… استفاده کرد. بر روی این ماژول دو عدد پتانسیومتر ۱۰ کلیواهم جهت اندازه گیری حرکت اهرم جوی استیک در راستای دو محور x و y وجود دارد . مکانیزم کار به این صورت است که با نغییر وصعیت اهرم میزان ولتاژ خروجی ماژول تغییر میکند و ما از طریق ADC متوجه میشویم که ماژول در چه وضعیتی قرار دارد.
اتصالات
- اتصال جوی استیک به آردوینو
پین GND و ۵v+ که مربوط به تعذیه ماژول میباشد و باید به تریب به GND آردوینو و مثبت ۵ ولت DC متصل شود.
پین SW که مربوط به کلید فشاری قرار گرفته بر روی جویاستیک میباشد .در حالت عادی خروجی این پین ۵+ ولت DC است و در صورت فشار دادن آن ولتاژ خروجی آن به ۰ ولت تغییر میکند. ( این پین به پین شماره ۸ آردوینو متصل میشود)
پین VRx : این پین مروبط به تغییرات اهرم جوی استیک در راستای محور X (محور افقی ) میباشد . در حالت عادی ولتاژ خروجی این پین برابر ۲٫۵ ولت میباشد و برحسب تغییر وضعیت اهرم از راست به چپ به تریب ولتاژ خروجی این پین میان دو بازه ۵ الی ۰ ولت تغییر میکند. ( این پین به پین A0 برد آردوینو متصل میشود)
پین VRy : این پین مروبط به تغییرات اهرم جوی استیک در راستای محور y (محور عمودی ) میباشد . در حالت عادی ولتاژ خروجی این پین برابر ۲٫۵ ولت میباشد و برحسب تغییر وضعیت اهرم از بالا به پایین به تریب ولتاژ خروجی این پین میان دو بازه ۵ الی ۰ ولت تغییر میکند. ( این پین به پین A1 برد آردوینو متصل میشود)
برنامه نویسی
برای برنامه نویسی این ماژول ما باید به وسیلهی مبدل آنالوگ به دیجیتال (ADC) ولتاژهای خروجی پینهای VRx و VRy را اندازهگیری کنیم.همانطور که گفته شد ولتاژهای این دو پین میان بازهی ۰ الی ۵ ولت تغییر میکند پس هنگامی که این ولناژ آنالوگ توسط ADC به مقادیر دیجیتال تبدیل میشود ، مقادیر بدست آمده بین ۰ الی ۱۰۲۳ میباشد.
VRy : در هنگام تبدل به مقادیر دیجیتال ، در بالاترین نقظه دارای مقدار ۱۰۲۳ و در پایین ترین نقظه برابر ۰ میباشد.
VRx : در هنگام تبدیل به مقادیر دیجیتال ، در راست ترین نقطه دارای مقدار۱۰۲۳ و در جپ ترین نقطه برابر ۰ میباشد.
قابل ذکر است برای تبدیل ولتاژ آنالوگ به ولتاز دیجیتال از تابع analogRead(pin) استفاده میشود. که پارامتر pin ، شماره پین مورد نظر ما بر روی بورد آردوینو میباشد.
همانظور که گفته شد یک کلید نیز برای فشرده شدن بر روی جوی استیک قرار دارد که در صورت فشرده شدن مقدار ۰ ولت و در حالت عادی مقدار ۵ ولت بر روی پین SW اعمال میشود. برای بررسی وضعیت کلید باید آن را به صورت پولآپ در بیاوریم که برای این کار از تابع زیر استفاده میکنیم.
pinMode(pin, INPUT_PULLUP);
نمونهی کد آردوینو
در مثال زیر وضعیت اهرم جوی استیک بررسی شده و مختصات آن بر روی سریال مانیتور نرم افزار آردوینو نمایش داده میشود.
int JoyStick_X = A0; // محور x int JoyStick_Y = A1; // محور Y int JoyStick_Z = 8; // کلید void setup() { pinMode(JoyStick_Z, INPUT_PULLUP); // قرار دادن پین کلید در وضعیت پولآپ Serial.begin(9600); // 9600 bps } void loop() { int x, y, z; x = analogRead(JoyStick_X); y = analogRead(JoyStick_Y); z = digitalRead(JoyStick_Z); Serial.print(x); Serial.print(","); Serial.print(y); Serial.print(","); Serial.println(z); delay(100); }
در صورت تمایل به انجام پروژههای بیشتر در ارتباط با جوی استیک میتوانید به لینکهای زیر مراجعه نمایید.
با سلام خدمت شما دوست عزیز…
همانطور که میدانید سایت دانشجو کیت پکیج سنسور برای آردوینو رو عرضه میکنه. من این پکیج رو گرفتم به امید اینکه پکیج شامل طرز کار با سنسور ها هم هستش. متاسفانه حتی مدل سنسور هم توش نبود. من قبلا بهشون پیغام فرستادم ولی جوابی نگرفتم. شما میتونید مدل سنسور و یا اموزش برای سنسور ها رو در اختیار همه قرار بدید؟؟؟
با سلام
همانطور که مشاهده می کنید بنده شروع به آموزش دادن سنسور های موجود در آن پکیج کردم و در روز حدود ۲ آموزش از سنسور های پکیج آموزش داده می شود
سلام من میخوام ۵ تا سروو را کنترل کنم با جوی استیک باید چی کارکنم؟؟؟؟