- Компоненте потребне
- Ардуино Леонардо
- Двоосни КСИ модул џојстика
- Кружни дијаграм
- Шифра и радно објашњење
Претходно смо повезали џојстик са Ардуино УНО-ом да бисмо разумели како он функционише и контролисали смо четири ЛЕД-а лево, десно, горе-доле. У овом пројекту користићемо исти џојстик као Гамепад или контролер игара за играње било којих рачунарских игара које захтевају кретање лево, десно, горе и доле. За играње игара којима је потребно више опција управљања, могу се користити два или више џојстика. Овде ћемо користити Ардуино Леонардо да повежемо џојстик као контролер игре. Ардуино Леонардо има предност у односу на Уно што на њега можемо инсталирати УСБ управљачке програме и рачунар га може препознати као миш, тастатуру или џојстик када је повезан.
Компоненте потребне
- Ардуино Леонардо
- Двоосни КСИ модул џојстика
- Ардуино ИДЕ
- Повезивање жица
Ардуино Леонардо
За овај пројекат користимо Ардуино Леонардо, то је плоча микроконтролера заснована на АТмега32у4. Има 20 пинова за дигитални улаз / излаз (од којих се 7 може користити као ПВМ излазе, а 12 као аналогни улази), кристални осцилатор од 16 МХз, микро УСБ везу, утичницу за напајање, ИЦСП заглавље и дугме за ресетовање. Садржи све потребно за подршку микроконтролера; једноставно га повежите са рачунаром помоћу УСБ кабла или га напајајте АЦ-то-ДЦ адаптером или батеријом да бисте започели.
Леонардо се разликује од свих претходних плоча по томе што АТмега32у4 има уграђену УСБ комуникацију, елиминишући потребу за секундарним процесором. Ово омогућава да се Леонардо на повезаном рачунару прикаже као миш и тастатура, поред виртуелног (ЦДЦ) серијског / ЦОМ порта.
Техничке спецификације
Микроконтролер | АТмега32у4 |
Радни напон | 5В |
Улазни напон (препоручено) | 7-12В |
Улазни напон (ограничења) | 6-20В |
Дигитални И / О пинови | 20 |
ПВМ канали | 7 |
Канали аналогног улаза | 12 |
Једносмерна струја по И / О пину | 40 мА |
Једносмерна струја за пин од 3.3В | 50 мА |
Флеш меморија | 32 КБ (АТмега32у4), од чега 4 КБ користи боотлоадер |
СРАМ | 2,5 КБ (АТмега32у4) |
ЕЕПРОМ | 1 КБ (АТмега32у4) |
Такт | 16 МХз |
Дужина | 68.6 мм |
Ширина | 53.3 мм |
Тежина | 20 г |
Референца за ПИН излаз
Двоосни КСИ модул џојстика
Јоистицкс су доступни у различитим облицима и величинама. Типични модул џојстика приказан је на доњој слици. Овај модул џојстика обично даје аналогне излазе, а излазни напони које пружа овај модул непрестано се мењају у складу са смером у којем га померамо. А смер кретања можемо добити тумачењем ових промена напона помоћу неког микроконтролера. Раније смо повезивали јои стицк са различитим микроконтролерима:
- Повезивање џојстика са Ардуином
- Повезивање џојстика са Распберри Пи
- Повезивање џојстика са ПИЦ микроконтролером
- Интерфејс џојстика са АВР микроконтролером
Овај модул џојстика има две осе као што видите. Они су оса Кс и оса И. Свака осовина ЈОИ СТИЦК је постављена на потенциометар или пот. Средње тачке ових лонаца се избацују као Рк и Ри. Дакле, Рк и Ри су променљиве тачке на ове лонце. Када је џојстик у стању приправности, Рк и Ри делују као делилац напона.
Када се џојстик помера дуж водоравне осе, напон на Рк пину се мења. Слично томе, када се помера дуж вертикалне осе, напон на Ри пин се мења. Дакле , имамо четири правца џојстика на два АДЦ излаза. Када се штап помери, напон на сваком затичу постаје висок или низак у зависности од смера.
Кружни дијаграм
Овај контролер игре Ардуино Јоистицк захтева везе између Ардуина и Јоистицк-а на следећи начин:
Шифра и радно објашњење
Комплетни код са демо видеом дат је на крају; овде објашњавамо неколико његових важних делова.
Прво, треба да иницијализујемо библиотеку тастатуре
#инцлуде
Следеће у доњем коду иницијализовали смо Кс и И осу џојстика модула за аналогни пин А0 и А1 респективно.
цонст инт Кс_пин и цонст инт И_пин
Очитава се аналогна вредност ВРКС пина и ако је вредност 1023, тада се даје наредба за „горе“, а ако је вредност 0, даје се наредба за „доле“.
Слично томе, чита се аналогна вредност ВРИ пина и ако је вредност 1023, даје се команда за „десно“, а ако је вредност 0, даје се команда за „лево“.
Џојстик такође има дугме на врху, тако да се и ово дугме (СВ) чита, а ако се притисне дугме, вредност ће бити 0, тада се даје команда за „ентер“.
Коначно нарежите код у Ардуино и повежите га са рачунаром.
Следеће проверите „ Уређаји и штампачи“ на контролној табли, моћи ћете да видите „ Ардуино Леонардо“ у одељку уређаја као што је приказано на доњој слици. Сада сте спремни за игру џојстиком.
Помоћу овог џојстика можемо контролисати било коју контролу игре. Џојстик има два потенциометра у себи, један је за кретање по оси Кс, а други за кретање по оси И. Сваки потенциометар добија 5в од Ардуина. Дакле, док померамо џојстик, вредност напона ће се променити, а аналогна вредност на аналогним пиновима А0 и А1 такође ће се променити. Дакле, џојстик ће деловати као гамепад.
Дакле, ово је начин како се нормални џојстик може претворити у контролер игара помоћу Ардуина Леонарда и може се користити за играње игара са свим контролама за кретање лево, десно, горе и доле. Као што је речено раније, више од једног џојстика може се повезати да би се добило више контрола осим ових четири основне функције.