راه اندازی ماژول جوی استیک با میکروکنترلر AVR

3

در این پست از سایت اِمیک, ماژول جوی استیک (Joystick) دو محوره را با استفاده از میکروکنترلر AVR راه اندازی خواهیم کرد. این ماژول کاربردهای مختلفی دارد و می توان از ان در پروژه های مختلف استفاده کرد, به عنوان مثال در پروژه های رباتیک برای کنترل حرکت ربات, کنترل ماشین های CNC و یا در دسته های بازی و غیره از جوی استیک استفاده می شود. در ادامه با این ماژول بیشتر اشنا خواهیم شد.

ماژول جوی استیک (Joystick) :

ماژول جوی استیک دو محوره قابلیت حرکت در تمام زوایا در راستای محور X , Y را دارد. این ماژول دارای دو خروجی انالوگ برای محورهای X و Y می باشد. در این ماژول از دو پتانسیومتر (یکی برای محور X و یکی برای محور Y) استفاده شده که با تغییر اهرام جوی استیک مقدار انها تغییر می کند و از این طریق می توان تشخیص داد که اهرام جوی استیک در چه جهتی در حال حرکت است. این ماژول علاوه بر دو خروجی انالوگ دارای یک خروجی دیجیتال نیز می باشد که مربوط به خروجی سوئیچ ماژول است. با فشار دادن اهرام جوی استیک, وضعیت خروجی سوئیچ یا کلید فشاری تغییر می کند.

joystick-module-emic

همانطور که در تصویر بالا مشاهده می کنید این ماژول دارای 5 پایه به صورت زیر می باشد:

پایه GND که باید به منفی تغذیه (زمین) متصل شود

پایه 5V+ که به مثبت تغذیه (VCC) متصل می شود

پایه VRx که خروجی انالوگ محور X می باشد

پایه VRy که خروجی انالوگ محور Y می باشد

و پایه SW که خروجی سوئیچ ماژول است

برای راه اندازی ماژول ما باید با استفاده از ADC میکروکنترلر مقدار ولتاژ انالوگ هر دو خروجی VRx و VRy را اندازه گیری کنیم که این ولتاژها متناسب با جهت قرار گیری اهرام جوی استیک می باشند. همانطور که گفته شد با فشار دادن اهرام جوی استیک به سمت داخل یک سوئیچ یا کلید فشاری تغییر وضیعیت می دهد. در حالتی که اهرام فشار داده نشده خروجی سوئیچ (SW) یک منطقی یا HIGH است با فشار دادن اهرام خروجی ان به صفر منطقی یا LOW تغییر وضعیت می دهد.

راه اندازی ماژول جوی استیک با میکروکنترلر AVR :

در پروژه ای که در ادامه مشاهده می کنید ما با استفاده از یک میکروکنترلر AVR جهت حرکت اهرام ماژول جوی استیک را تشخیص داده و بر روی یک LCD کاراکتری نمایش می دهیم. همچنین با فشار دادن سوئیچ ماژول عبارت PUSH بر روی LCD نمایش داده می شود. در انتهای مطلب کلیپ تست پروژه را می توانید مشاهده کنید.

P-avr-prj-with-joystick-emic

در این پروژه از میکروکنترلر ATmega16 و یک ماژول جوی استیک دو محوره استفاده شده و برای نمایش متن هم از یک ال سی دی کاراکتری 2*16 استفاده شده است. در ادامه شماتیک این پروژه را مشاهده می کنید:

avr-prj-with-joystick-emic

همانطور که مشاهده می کنید پایه SW (سوئیچ) به پین PA0 یا پین 40 میکرو متصل شده و پایه های VRy و VRx نیز به پین های PA1 یا پین 39 و PA2 یا پین 38 از میکروکنترلر متصل شده اند. دقت کنید که حتما پایه های 30 و 32 میکروکنترلر را به دلیل استفاده از ADC به VCC متصل کنید.

پایه های تغذیه میکروکنترلر (پایه های 10 و 11) که در تصویر بالا وجود ندارند را فراموش نکنید به تغذیه 5 ولت متصل کنید. پتانسیومتر RV1 به منظور تنظیم روشنایی یا کنتراست LCD استفاده شده است.

برنامه کدویژن :

در این پروژه فرکانس میکروکنترلر 1 مگاهرتز تنظیم شده است. در زیر برنامه نوشته شده به زبان C و کامپایلر کدویژن را مشاهده می کنید:

توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید.

  • در صورتی که با دستورات مربوط به نوشتن متن روی LCD کاراکتری و راه اندازی ان اشنا نیستسد این پست را مطالعه کنید.
  • در صورتی که با ADC در میکروکنترلر AVR و نحوه راه اندازی ان اشنا نیستید این پست را مطالعه کنید.

کلیپ تست عملی پروژه :

 

دانلود فایل ها

پسورد فایل زیپ : www.emic.ir

نظر یادتون نره …

3 دیدگاه‌ها

ارسال دیدگاه

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید