آردوینو آموزش آردوینو پروژه های آردوینو پکیج سنسور آردوینو

پکیج ۳۷ سنسور آردوینو – آموزش جوی استیک JoyStick

نوشته شده توسط علیرضا قربانی

سنسورکیت آردوینو ( راه اندازی جوی استیک joyStick)

با اولین آموزش از سری آموزش‌های سنسورکیت آردوینو در خدمتتون هستم . در اولین آموزش به راه اندازی ماژول جوی استیک  به همراه آردوینو  Uno می‌پردازیم. در ادامه‌ی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

 

سخت افزار مورد نیاز

آردوینو 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 : در هنگام تبدیل به مقادیر دیجیتال ، در راست ترین نقطه دارای مقدار۱۰۲۳ و در جپ ترین نقطه برابر ۰ می‌باشد.

 

Arduino-PS2-Joystick-Output-Orientation
Arduino-PS2-Joystick-Output-Orientation

 

قابل ذکر است برای تبدیل ولتاژ آنالوگ به ولتاز دیجیتال از تابع   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);
}

 

 

جوی استیک کیت آردوینو arduino kit joystick
کیت آموزشی آردوینو

 

 

در صورت تمایل به انجام پروژه‌های بیشتر در ارتباط با جوی استیک می‌توانید به لینک‌های زیر مراجعه نمایید.

آموزش کنترل موس کامپیوتر با جوک استیک با استفاده از آردوینو

آموزش راه اندازی nrf24L01 به همراه جوی استیک و آردوینو

درباره نویسنده

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

تبادل نظر و رفع عیب با ثبت دیدگاه

۳ دیدگاه

  • با سلام خدمت شما دوست عزیز…
    همانطور که میدانید سایت دانشجو کیت پکیج سنسور برای آردوینو رو عرضه میکنه. من این پکیج رو گرفتم به امید اینکه پکیج شامل طرز کار با سنسور ها هم هستش. متاسفانه حتی مدل سنسور هم توش نبود. من قبلا بهشون پیغام فرستادم ولی جوابی نگرفتم. شما میتونید مدل سنسور و یا اموزش برای سنسور ها رو در اختیار همه قرار بدید؟؟؟

    • با سلام
      همانطور که مشاهده می کنید بنده شروع به آموزش دادن سنسور های موجود در آن پکیج کردم و در روز حدود ۲ آموزش از سنسور های پکیج آموزش داده می شود

  • سلام من میخوام ۵ تا سروو را کنترل کنم با جوی استیک باید چی کارکنم؟؟؟؟