Kuidas Juhtnuppu Arduinoga ühendada

Sisukord:

Kuidas Juhtnuppu Arduinoga ühendada
Kuidas Juhtnuppu Arduinoga ühendada

Video: Kuidas Juhtnuppu Arduinoga ühendada

Video: Kuidas Juhtnuppu Arduinoga ühendada
Video: Nutikas lüliti ümmarguse pistikupesa jaoks koos raadiokordajaga - mehaanilise hõlpsaks asendamiseks 2024, Aprill
Anonim

Teabe edastamiseks inimeselt mikrokontrollerisse või arvutisse on väga erinevaid võimalusi ja üks neist kasutab juhtnuppu. Vaatame, kuidas ühendada kahe telje ja nupuga analoogne juhtnupp Arduinoga.

Kahe telje ja nupuga juhtnupp
Kahe telje ja nupuga juhtnupp

See on vajalik

  • - Arduino;
  • - kaheteljeline juhtnupp;
  • - 3 takistit nimiväärtusega 220 Ohm;
  • - 1 RGB või 3 tavalist LED-i.

Juhised

Samm 1

Juhtkang on mugav ja hõlpsasti kasutatav seade teabe edastamiseks. Vabadusastmete arvu, näidustuste lugemise põhimõtte ja kasutatavate tehnoloogiate osas on suur hulk juhtnuppe. Juhtnuppe kasutatakse kõige sagedamini mis tahes mehhanismide, juhitavate mudelite, robotite liikumise juhtimiseks. Analoogne juhtkang, mida täna vaatame, on kahe vastastikku risti asuva teljega kuulliigendile kinnitatud käepide. Nupu kallutamisel pöörleb telg potentsiomeetri liikuvat kontakti, mille tõttu pinge selle väljundis muutub. Samuti on analoogjuhtnupul taktitunupp, mis käivitub siis, kui vajutate käepidet vertikaalselt.

Juhtkangi skemaatiline diagramm
Juhtkangi skemaatiline diagramm

2. samm

Ühendage juhtnupp alloleva skeemi järgi. Ühendage juhtkangi analoogväljundid X ja Y Arduino analoogsisenditega A1 ja A2, SW-nupu väljund digitaalsisendiga 8. Juhtkangi toidab pinge +5 V.

Arduino juhtkangi ühendusskeem
Arduino juhtkangi ühendusskeem

3. samm

Selleks, et juhtkangi toimimist selgelt näha, kirjutame sellise visandi. Deklareerime tihvtid, määrake neile töörežiimid. Pange tähele, et setup () protseduuris määrasime switchPini sisendi kõrgel tasemel. See võimaldab selles pordis sisseehitatud tõmbetakisti. Kui te seda sisse ei lülita, siis kui juhtkangi nuppu ei vajutata, ripub 8. Arduino port õhus ja püüab pickupe. See toob kaasa soovimatuid, kaootilisi valepositiivseid tulemusi.

Protseduuris loop () küsitleme pidevalt nupu olekut ja kuvame selle väljundil 13 oleva LED-i abil. SwitchPini sisendi üles tõmbamise tõttu põleb LED pidevalt ja nuppu vajutades kustub ja mitte vastupidi.

Järgmisena lugesime juhtnupu kahe potentsiomeetri näitu - X- ja Y-telje väljundit. Arduinol on 10-bitine ADC, nii et juhtkangilt loetud väärtused jäävad vahemikku 0-1023. Juhtkangi keskmises asendis, nagu näete jooniselt, on piirkonna 500 väärtused umbes vahemiku keskel.

Joonis juhtkangi töö näitamiseks
Joonis juhtkangi töö näitamiseks

4. samm

Tavaliselt kasutatakse elektrimootorite juhtimiseks juhtnuppu. Aga miks mitte seda kasutada näiteks LED-i heleduse juhtimiseks? Ühendame RGB LED-i (või kolm tavalist LED-i) Arduino digitaalsete pordidega 9, 10 ja 11 vastavalt ülaltoodud skeemile, unustamata muidugi ka takisteid.

Juhtkangi ja RGB LED-i ühendusskeem Arduinole
Juhtkangi ja RGB LED-i ühendusskeem Arduinole

5. samm

Juhtkangi asendi piki telgi muutmisel muudame vastavate värvide heledust, nagu joonisel näidatud. Tulenevalt asjaolust, et juhtkangi tootja ei pruugi täpselt tsentreerida ja skaala keskosa ei ole umbes 512, vaid 490 kuni 525, võib LED-tuli pisut süttida ka siis, kui juhtkang on neutraalasendis. Kui soovite, et see oleks täielikult välja lülitatud, siis tehke programmi vastavad muudatused.

R, G, B kanalite heleduse jaotuse skeem mööda X- ja Y-telge
R, G, B kanalite heleduse jaotuse skeem mööda X- ja Y-telge

6. samm

Ülaltoodud skeemi põhjal kirjutame juhtnupu abil RGB LED-i heleduse juhtimise Arduino visandi.

Kõigepealt deklareerime nupuga töötamiseks tihvtide ja kahe muutuja - ledOn ja prevSw - vastavuse. Määrake seadistamise () protseduuris tihvtidele funktsioonid ja ühendage tõmbetakisti käsuga digitalWrite (swPin, HIGH) nööpnõelaga.

Lingis () määratleme juhtnupu vajutamise. Kui vajutate nuppu, vahetame töörežiime režiimi "taskulamp" ja "värviline muusika" vahel.

FreeMode () režiimis reguleeritakse LED-de heledust juhtnuppu erinevates suundades kallutades: mida tugevam on kallutus mööda telge, seda eredamalt vastav värv särab. Veelgi enam, väärtuste teisendamise võtab üle kaardifunktsioon (väärtus, fromLower, fromUpper, toLower, toUpper). Funktsioon map () kannab mõõdetud väärtused (madalalt kõrgele) mööda juhtkangi telgi soovitud heleduse vahemikku (madalale, kõrgele). Sama saate teha tavaliste aritmeetiliste toimingutega, kuid see tähistus on palju lühem.

Režiimis discoMode () saavad kolm värvi vaheldumisi heleduse ja kustuvad. Nupu vajutamisel silmusest väljumiseks kontrollime iga iteratsiooni, kas nuppu on vajutatud.

Visand LED-i heleduse reguleerimiseks analoogjuhtkangi abil
Visand LED-i heleduse reguleerimiseks analoogjuhtkangi abil

7. samm

Tulemuseks on kolmevärvilisest RGB LED-ist valmistatud taskulamp, mille iga värvi heledus määratakse juhtnupu abil. Ja kui vajutate nuppu, aktiveeritakse režiim "värviline muusika". Kuigi ma kasutan seda, vastupidi, öölambina.

Nii õppisime, kuidas ühendada analoog kaheteljeline juhtnupp nupuga Arduinoga ja lugeda sellest lugemit. Võite mõelda ja rakendada juhtkangi huvitavamat kasutamist kui meie näide.

Soovitan: