Kako Povezati Krmilno Palčko Na Arduino

Kazalo:

Kako Povezati Krmilno Palčko Na Arduino
Kako Povezati Krmilno Palčko Na Arduino

Video: Kako Povezati Krmilno Palčko Na Arduino

Video: Kako Povezati Krmilno Palčko Na Arduino
Video: Ардуино термометр (arduino,DHT11,Oled 128x64 0.96 i2c SSD1306) 2024, Marec
Anonim

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.

Joystick z dvema osema in gumbom
Joystick 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.

Shematski diagram krmilne palice
Shematski diagram krmilne palice

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.

Shema ožičenja igralne palice za Arduino
Shema ožičenja igralne palice za Arduino

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.

Skica za prikaz delovanja krmilne palice
Skica za prikaz delovanja krmilne palice

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.

Shema ožičenja igralne palice in RGB LED na Arduino
Shema ožičenja igralne palice in RGB LED na Arduino

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.

Diagram porazdelitve svetlosti kanalov R, G, B vzdolž osi X in Y
Diagram porazdelitve svetlosti kanalov R, G, B vzdolž osi X in Y

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.

Skica za nadzor svetlosti LED z analogno krmilno palčko
Skica za nadzor svetlosti LED z analogno krmilno palčko

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.

Priporočena: