در این پست از سایت اِمیک, ماژول جوی استیک (Joystick) دو محوره را با استفاده از برد آردوینو یونو (UNO) و محیط سریال مانیتور آردوینو تست و راه اندازی خواهیم کرد. شکل ظاهری ماژول جوی استیک دو محوره به صورت زیر است.
همانطور که در تصویر بالا مشاهده می کنید این ماژول دارای 5 پایه به صورت زیر می باشد:
پایه GND که باید به منفی تغذیه (زمین) متصل شود
پایه 5V+ که به مثبت تغذیه (VCC) متصل می شود
پایه VRx که خروجی انالوگ محور X می باشد
پایه VRy که خروجی انالوگ محور Y می باشد
و پایه SW که خروجی سوئیچ ماژول است
برای اطلاعات بیشتر در مورد ماژول جوی استیک این پست را مشاهده کنید.
در این پروژه ما از برد آردوینو UNO استفاده کرده ایم. شماتیک پروژه به صورت زیر می باشد.
نحوه اتصالات را در شماتیک بالا مشاهده می کنید. پایه VRx به پین A0 آردوینو, پایه VRy به پین A1 آردوینو, پایه SW به پین A2 آردوینو و پایه های 5V+ و GND ماژول نیز به ترتیب به پین های 5V و GND برد آردوینو متصل شده اند.
عملکرد پروژه بالا به این صورت است که توسط ADC برد آردوینو ما ولتاژ خروجی پایه های VRx و VRy را اندازه گیری می کنیم و این مقادیر را که می توانند عددی بین 0 تا 1023 باشند را در سریال مانیتور آردوینو نمایش می دهیم. همچنین وضعیت پایه SW که می تواند 0 یا 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 |
////////// WWW.EMIC.IR ////////// void setup() { Serial.begin(9600); //پیکربندی ارتباط سریال و تعیین کردن نرخ ارسال داده// analogReference(DEFAULT); //اردوینو ADC تعیین ولتاژ رفرنس برای کار با واحد// pinMode(A0, INPUT); //اردوینو A0 ورودی کردن پین// pinMode(A1, INPUT); //اردوینو A1 ورودی کردن پین// pinMode(A2, INPUT_PULLUP); //اردوینو و فعال کردن مقاومت بالاکش این پین A2 ورودی کردن پین// } void loop() { int VRx = analogRead(A0); //VRx که عددی بین 0 تا 1023 می تواند باشد و ریختن ان در متغیر A0 خواندن مقدار ولتاژ انالوگ روی پین// int VRy = analogRead(A1); //VRy که عددی بین 0 تا 1023 می تواند باشد و ریختن ان در متغیر A1 خواندن مقدار ولتاژ انالوگ روی پین// int SW = digitalRead(A2); //قرار داده ایم که می تواند 0 یا 1 منطقی باشد SW اردوینو را برابر متغیر A2 مقدار پین// Serial.print("VRx:"); //VRx: نمایش عبارت// Serial.print(VRx); //که عددی بین 0 تا 1023 می تواند باشد VRx نمایش مقدار// Serial.print("\t"); //ایجاد فاصله// Serial.print("VRy:"); //VRy: نمایش عبارت// Serial.print(VRy); //که عددی بین 0 تا 1023 می تواند باشد VRy نمایش مقدار// Serial.print("\t"); //ایجاد فاصله// Serial.print("Switch:"); //Switch: نمایش عبارت// Serial.println(SW); //که می تواند 0 یا 1 باشد و رفتن به سطر بعدی SW نمایش مقدار// delay(100); //ایجاد 100 میلی ثانیه تاخیر// } |
توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می توانید در قسمت نظرات مطرح کنید. از انتهای مطلب نیز می توانید فایل برنامه این پروژه با نرم افزار آردوینو را دانلود کنید.
کلیپ تست عملی پروژه :
پسورد فایل زیپ : www.emic.ir
نظر یادتون نره…
عالی……….