У овом упутству ћемо повезати модул џојстика са микроконтролером атмега8. Палицу је улазни модул се користи за комуникацију. У основи олакшава комуникацију између корисника и машине. Џојстик је приказан на доњој слици.
Модул џојстика има две осе - једна је хоризонтална, а друга вертикална. Свака оса џојстика је постављена на потенциометар или пот или променљиви отпор. Средње тачке су срушене као Рк и Ри. Ови пинови носе као излазне сигналне пинове за ЈОИСТИЦК. Када се штап помера по хоризонталној оси, са присутним напоном напајања, напон на Рк пину се мења.
Напон на Рк расте када се помера напред, напон на Рк пину смањује се када се помера уназад. Слично томе, напон на Ри расте када се помери према горе, напон на Ри пину смањује се када се помера наниже.
Дакле, имамо четири правца ЈОИСТИЦК-а на два АДЦ канала. У нормалним случајевима имамо 1В на сваком пину у нормалним околностима. Када се штап помери, напон на сваком затичу постаје висок или низак, у зависности од смера. Дакле, четири правца као (0В, 5В на каналу 0) за к-осу; (0В, 5В на каналу 1) за и-осу.
За обављање посла користићемо два АДЦ канала АТМЕГА8. Користићемо канал 0 и канал 1.
Компоненте потребне
Хардвер: АТМЕГА8, напајање (5в), АВР-ИСП ПРОГРАМЕР, ЛЕД (4 комада), кондензатор 1000уФ, кондензатор 100нФ (5 комада), отпорник 1КΩ (6 комада).
Софтвер: Атмел студио 6.1, прогисп или фласх магиц.
Шема и радно објашњење
Напон на ЈОИСТИЦК-у није потпуно линеаран; биће то бучно. Да би филтрирали буку, кондензатори су постављени преко сваког отпорника у колу, као што је приказано на слици.
Као што је приказано на слици, у колу постоје четири ЛЕД диоде. Свака ЛЕД лампица представља сваки смер ЈОИСТИЦК-а. Када се штап помери у правцу, тада одговарајућа ЛЕД лампица светли.
Пре него што наставимо даље, морамо да разговарамо о АДЦ АТМЕГА8, У АТМЕГА8 можемо дати аналогни улаз на било који од ЧЕТИРИ канала ПОРТЦ-а, није битно који ћемо канал одабрати јер су сви исти, изабраћемо канал 0 или ПИН0 ПОРТЦ-а.
У АТМЕГА8, АДЦ је 10-битне резолуције, тако да контролер може да детектује минималну промену Вреф / 2 ^ 10, па ако је референтни напон 5В, добијамо дигитални прираштај излаза за сваких 5/2 ^ 10 = 5мВ. Дакле, за сваких 5мВ прираста на улазу имат ћемо прираштај од једног на дигиталном излазу.
Сада морамо да поставимо регистар АДЦ на основу следећих услова, 1. Пре свега морамо омогућити функцију АДЦ у АДЦ-у.
2. Овде ћемо добити максимални улазни напон за АДЦ конверзију од + 5В. Тако можемо подесити максималну вредност или референцу АДЦ на 5В.
3. Контролер има функцију конверзије окидача што значи да се АДЦ конверзија одвија само након спољног окидача, јер не желимо да морамо да подесимо регистре да АДЦ ради у континуираном режиму слободног рада.
4. За било који АДЦ, учесталост конверзије (аналогна вредност у дигиталну вредност) и тачност дигиталног излаза су обрнуто пропорционалне. Дакле, за бољу тачност дигиталног излаза морамо одабрати мању фреквенцију. За нормални АДЦ сат подешавамо претпродају АДЦ-а на максималну вредност (2). Будући да користимо интерни такт од 1 МХз, АДЦ ће бити (1000000/2).
Ово су једине четири ствари које морамо знати да бисмо започели са АДЦ-ом.
Све горе наведене четири карактеристике постављају два регистра:
ЦРВЕНА (АДЕН): Овај бит мора бити подешен да омогући АДЦ функцију АТМЕГА-е.
ПЛАВА (РЕФС1, РЕФС0): Ова два бита се користе за подешавање референтног напона (или максималног улазног напона који ћемо дати). Будући да желимо да имамо референтни напон 5В, табелу треба поставити РЕФС0.
ЖУТИ (АДФР): Овај бит мора бити подешен да би се АДЦ непрекидно изводио (режим слободног рада).
ПИНК (МУКС0-МУКС3): Ова четири бита служе за казивање улазног канала. Будући да ћемо користити АДЦ0 или ПИН0, не морамо постављати ниједан бит, као у табели.
СМЕЂА (АДПС0-АДПС2): ова три бита служе за подешавање предскалара за АДЦ. С обзиром да користимо прескалар 2, морамо поставити један бит.
ТАМНО ЗЕЛЕНО (АДСЦ): овај бит је постављен да АДЦ започне конверзију. Овај бит се може онемогућити у програму када треба да зауставимо конверзију.