Kuinka Kytkeä Ohjaussauva Arduinoon

Sisällysluettelo:

Kuinka Kytkeä Ohjaussauva Arduinoon
Kuinka Kytkeä Ohjaussauva Arduinoon

Video: Kuinka Kytkeä Ohjaussauva Arduinoon

Video: Kuinka Kytkeä Ohjaussauva Arduinoon
Video: Kuinka Korjata Pään ja Olkapäiden Asentoa (3 LIIKETTÄ!) 2024, Marraskuu
Anonim

Tietojen siirtämisestä henkilöstä mikro-ohjaimeen tai tietokoneeseen on olemassa monenlaisia tapoja, ja yksi niistä käyttää ohjainta. Katsotaanpa, kuinka yhdistää analoginen ohjaussauva kahdella akselilla ja painikkeella Arduinoon.

Ohjaussauva kahdella akselilla ja napilla
Ohjaussauva kahdella akselilla ja napilla

Se on välttämätöntä

  • - Arduino;
  • - kaksiakselinen ohjaussauva;
  • - 3 vastusta nimellisarvolla 220 Ohm;
  • - 1 RGB tai 3 perinteistä LEDiä.

Ohjeet

Vaihe 1

Ohjaussauva on kätevä ja helppokäyttöinen laite tiedonsiirtoon. Ohjaussauvoja on suuri määrä vapausasteiden määrän, ohjeiden lukemisen periaatteen ja käytettyjen tekniikoiden suhteen. Ohjaussauvoja käytetään useimmiten mekanismien, ohjattavien mallien, robottien liikkeen hallintaan. Analoginen ohjaussauva, jota tarkastelemme tänään, on kahva, joka on kiinnitetty kuulaliitokseen kahdella keskenään kohtisuoralla akselilla. Kun nuppi on kallistettu, akseli kiertää potentiometrin liikutettavaa kosketinta, minkä vuoksi jännite lähdössä muuttuu. Myös analogisessa ohjaussauvassa on taktiopainike, joka laukaistaan, kun painat kahvaa pystysuoraan.

Ohjaussauvan kaavio
Ohjaussauvan kaavio

Vaihe 2

Liitä ohjaussauva alla olevan kuvan mukaisesti. Liitä joystickin analogilähdöt X ja Y Arduinon analogiatuloihin A1 ja A2, SW-painikkeen lähtö digitaalituloon 8. Joystick saa virtansa +5 V.

Ohjaussauvan kytkentäkaavio Arduinolle
Ohjaussauvan kytkentäkaavio Arduinolle

Vaihe 3

Kirjoitamme tällaisen luonnoksen, jotta saisimme selvästi nähdä, kuinka ohjaussauva toimii. Ilmoitetaan nastat, asetetaan niiden toimintatilat. Huomaa, että setup () -menettelyssä asetamme switchPin-tulon korkealle tasolle. Tämä mahdollistaa sisäänrakennetun vetovastuksen tässä portissa. Jos et käynnistä sitä, niin kun ohjaussauvapainiketta ei paineta, Arduinon 8. portti roikkuu ilmassa ja saa mikrofonit kiinni. Tämä johtaa ei-toivottuihin, kaoottisiin vääriin positiivisiin tuloksiin.

Loop () -prosessissa kyselemme jatkuvasti painikkeen tilaa ja näytämme sen LEDillä ulostulossa 13. Johtuen switchPin-tulon vetämisestä ylöspäin, LED palaa jatkuvasti ja kun painiketta painetaan, se sammuu. eikä päinvastoin.

Seuraavaksi luemme joystickin kahden potentiometrin lukemat - X- ja Y-akselien ulostulot. Arduinolla on 10-bittinen ADC, joten ohjaussauvasta luetut arvot ovat välillä 0-1023. Joystickin keskiasennossa, kuten kuvasta näet, alueen 500 arvot ovat suunnilleen alueen keskellä.

Luonnos ohjaussauvan toiminnan osoittamiseksi
Luonnos ohjaussauvan toiminnan osoittamiseksi

Vaihe 4

Yleensä sähkömoottoreiden ohjaamiseen käytetään ohjaussauvaa. Mutta miksi et käytä sitä esimerkiksi LED-valon kirkkauden säätämiseen? Yhdistetään RGB-LED (tai kolme tavallista LEDiä) Arduinon digitaalisiin portteihin 9, 10 ja 11 yllä olevan kaavion mukaisesti, unohtamatta tietysti vastuksia.

Ohjaussauva ja RGB-LED-kytkentäkaavio Arduinoon
Ohjaussauva ja RGB-LED-kytkentäkaavio Arduinoon

Vaihe 5

Muutamme vastaavien värien kirkkautta vaihdettaessa ohjaussauvan asemaa akseleita pitkin kuvan osoittamalla tavalla. Johtuen siitä, että valmistaja ei välttämättä keskitä ohjainta tarkasti ja että asteikon keskiosa ei ole noin 512: n, mutta välillä 490-525, LED voi palaa hieman, vaikka ohjaussauva olisi neutraalissa asennossa. Jos haluat, että se sammutetaan kokonaan, tee tarvittavat muutokset ohjelmaan.

Kaavio R-, G-, B-kanavien kirkkausjakaumasta X- ja Y-akseleilla
Kaavio R-, G-, B-kanavien kirkkausjakaumasta X- ja Y-akseleilla

Vaihe 6

Yllä olevan kaavion perusteella kirjoitamme luonnoksen Arduino-ohjauksesta RGB-LED-valon kirkkaudelle ohjaussauvalla.

Ensin ilmoitetaan nastojen ja kahden muuttujan - ledOn ja prevSw - vastaavuus painikkeen kanssa työskentelemiseksi. Määritä setup () -menetelmässä toiminnot nastoille ja kytke vetovastus painiketappiin digitalWrite (swPin, HIGH) -komennolla.

Määritämme silmukassa () joystick-painikkeen painamisen. Kun painat painiketta, vaihdamme käyttötilaa "taskulamppu" -tilan ja "värimusiikki" -tilan välillä.

FreeMode () -tilassa LEDien kirkkautta ohjataan kallistamalla ohjaussauvaa eri suuntiin: mitä voimakkaampi kallistus akselia pitkin on, sitä kirkkaampi vastaava väri loistaa. Lisäksi karttatoiminto (arvot, fromLower, fromUpper, toLower, toUpper) ottaa arvojen muunnoksen haltuunsa. Map () -toiminto siirtää mitatut arvot (matalasta korkeaan) joystick-akseleilla halutulle kirkkausalueelle (matalaksi, korkeaksi). Voit tehdä saman tavallisilla aritmeettisilla operaatioilla, mutta tämä merkintä on paljon lyhyempi.

DiscoMode () -tilassa kolme väriä saavat vuorotellen kirkkauden ja sammuvat. Jotta voisimme poistua silmukasta, kun painiketta painetaan, tarkistamme jokaisen iteraation, onko painiketta painettu.

Luonnos LED-valon kirkkauden säätämiseksi analogisella ohjaussauvalla
Luonnos LED-valon kirkkauden säätämiseksi analogisella ohjaussauvalla

Vaihe 7

Tuloksena on kolmivärisestä RGB-LEDistä valmistettu taskulamppu, jonka jokaisen värin kirkkaus asetetaan ohjaussauvalla. Ja kun painat painiketta, "värimusiikki" -tila aktivoituu. Vaikka käytän sitä päinvastoin yövalona.

Näin opimme kuinka kytkeä analoginen kaksiakselinen ohjaussauva napilla Arduinoon ja lukea lukemia siitä. Voit miettiä ja toteuttaa mielenkiintoisemman ohjaussauvan käytön kuin esimerkissämme.

Suositeltava: