Obstaja veliko različnih načinov za prenos podatkov od osebe do mikrokrmilnika ali računalnika, eden od njih pa uporablja krmilno palčko. Poglejmo, kako na Arduino priključimo analogno krmilno palčko z dvema osema in gumbom.
Potrebno je
- - Arduino;
- - dvoosna krmilna palica;
- - 3 upori z nominalno vrednostjo 220 Ohm;
- - 1 RGB ali 3 običajne LED.
Navodila
Korak 1
Krmilna palica je priročna in enostavna naprava za prenos informacij. Glede števila stopenj svobode, načela branja indikacij in uporabljenih tehnologij obstaja veliko vrst igralnih palic. Joysticks se najpogosteje uporabljajo za nadzor gibanja kakršnih koli mehanizmov, nadzorovanih modelov, robotov. Analogna krmilna palica, ki si jo bomo ogledali danes, je ročaj, pritrjen na kroglični zglob z dvema medsebojno pravokotnima osema. Ko je gumb nagnjen, os vrti premični kontakt potenciometra, zaradi česar se napetost na njegovem izhodu spremeni. Tudi analogna krmilna palica ima gumb za takt, ki se sproži, ko vertikalno pritisnete ročico.
2. korak
Povežite krmilno palčko v skladu s spodnjim diagramom. Analogna izhoda X in Y krmilne palice priključite na analogna vhoda A1 in A2 Arduina, izhod gumba SW na digitalni vhod 8. Krmilno palčko napaja napetost +5 V.
3. korak
Da bomo jasno videli, kako deluje krmilna palica, napišimo takšno skico. Deklarirajmo zatiče in jim določimo načine delovanja. Upoštevajte, da smo v postopku setup () postavili vhod switchPin na visoko raven. To omogoča vgrajen vlečni upor na teh vratih. Če ga ne vklopite, bo 8. vrata Arduino, ko ne pritisnete krmilne palice, visel v zraku in lovil prevzeme. To bo povzročilo neželene, kaotične lažne pozitivne učinke.
V postopku zanke () neprestano anketiramo stanje gumba in ga prikažemo s pomočjo LED na izhodu 13. Zaradi vlečenja vhoda switchPin LED neprestano sveti in ob pritisku na gumb ugasne. in ne obratno.
Nato preberemo odčitke dveh potenciometrov krmilne palice - izhod osi X in Y. Arduino ima 10-bitni ADC, tako da vrednosti, prebrane s krmilne palice, ležijo v območju od 0 do 1023. V srednjem položaju krmilne palice, kot lahko vidite na sliki, so vrednosti v območju 500 približno na sredini območja.
4. korak
Običajno s krmilno palico upravljamo elektromotorje. Zakaj pa ga ne bi uporabili na primer za nadzor svetlosti LED? Priključimo RGB LED (ali tri običajne LED) v digitalna vrata 9, 10 in 11 Arduina v skladu z zgornjim diagramom, ne pozabimo pa seveda na upore.
5. korak
Svetlost ustreznih barv bomo spremenili pri spreminjanju položaja krmilne palice vzdolž osi, kot je prikazano na sliki. Ker proizvajalec krmilne palice morda ne bo natančno centriral in ima sredino lestvice približno 512, ampak od 490 do 525, lahko LED dioda rahlo zasveti tudi, ko je krmilna palica v nevtralnem položaju. Če želite, da se popolnoma izklopi, potem ustrezno spremenite program.
6. korak
Na podlagi zgornjega diagrama bomo s krmilno palčko napisali skico nadzora nad svetlostjo RGB LED Arduino.
Najprej bomo razglasili ujemanje zatičev in dveh spremenljivk - ledOn in prevSw - za delo z gumbom. V postopku namestitve () funkcije dodelite zatičem in z ukazom digitalWrite (swPin, HIGH) povežite vlečni upor z zatičem gumba.
V zanki () določimo pritisk gumba na krmilni palici. Ko pritisnete gumb, preklopimo med načini delovanja med načinom "svetilka" in načinom "barvna glasba".
V načinu freeMode () se svetlost LED nadzoruje z nagibanjem krmilne palice v različne smeri: močnejši je nagib vzdolž osi, svetlejša je ustrezna barva. Poleg tega transformacijo vrednosti prevzame funkcija map (value, fromLower, fromUpper, toLower, toUpper). Funkcija map () prenese izmerjene vrednosti (od nizke do visoke) vzdolž osi krmilne palice v želeno območje svetlosti (na nizko, visoko). Enako lahko storite z običajnimi računskimi operacijami, vendar je ta zapis veliko krajši.
V načinu discoMode () tri barve izmenično pridobijo svetlost in ugasnejo. Da lahko zapremo zanko, ko pritisnemo gumb, preverimo vsako ponovitev, ali je bil gumb pritisnjen.
7. korak
Rezultat je svetilka iz tribarvne RGB LED, katere svetlost je nastavljena s krmilno palčko. In ko pritisnete gumb, se aktivira način "barvna glasba". Čeprav jo uporabljam ravno nasprotno kot nočno lučko.
Tako smo se naučili, kako analogno dvoosno igralno palico z gumbom priključimo na Arduino in beremo odčitke z njega. Lahko si omislite in uporabite bolj zanimivo uporabo igralne palice kot naš primer.