Jinsi Ya Kuunganisha Fimbo Ya Furaha Na Arduino

Orodha ya maudhui:

Jinsi Ya Kuunganisha Fimbo Ya Furaha Na Arduino
Jinsi Ya Kuunganisha Fimbo Ya Furaha Na Arduino

Video: Jinsi Ya Kuunganisha Fimbo Ya Furaha Na Arduino

Video: Jinsi Ya Kuunganisha Fimbo Ya Furaha Na Arduino
Video: Fimbo Космос. Фимбо. Глюкофон. 2024, Machi
Anonim

Kuna njia anuwai za kuhamisha habari kutoka kwa mtu kwenda kwa mdhibiti mdogo au kompyuta, na mmoja wao anatumia fimbo ya kufurahisha. Wacha tuone jinsi ya kuunganisha fimbo ya kufurahisha ya analojia na shoka mbili na kitufe kwa Arduino.

Joystick na shoka mbili na kitufe
Joystick na shoka mbili na kitufe

Ni muhimu

  • - Arduino;
  • - fimbo ya shaba-mhimili;
  • - vipinzani 3 vyenye thamani ya nomino ya 220 Ohm;
  • - 1 RGB au 3 LED za kawaida.

Maagizo

Hatua ya 1

Joystick ni kifaa rahisi na rahisi kutumia kwa kupeleka habari. Kuna idadi kubwa ya aina ya vijiti vya kufurahisha kwa suala la idadi ya digrii za uhuru, kanuni ya kusoma dalili na teknolojia zinazotumiwa. Viunga vya furaha hutumiwa mara nyingi kudhibiti harakati za mifumo yoyote, modeli zinazodhibitiwa, roboti. Fimbo ya kufurahisha ya analojia, ambayo tutatazama leo, ni kipini kilichoshikamana na mpira pamoja na shoka mbili za pande zote. Wakati kitovu kimegeuzwa, mhimili huzungusha mawasiliano inayoweza kusonga ya potentiometer, kwa sababu ambayo voltage kwenye pato lake hubadilika. Pia, fimbo ya kufurahisha ya analog ina kitufe cha busara, ambacho husababishwa wakati unabonyeza kitovu kwa wima.

Mchoro wa sketi ya Joystick
Mchoro wa sketi ya Joystick

Hatua ya 2

Unganisha fimbo ya furaha kulingana na mchoro hapa chini. Unganisha matokeo ya analog X na Y ya shangwe kwa pembejeo za Analog A1 na A2 ya Arduino, pato la kitufe cha SW kwa pembejeo ya dijiti 8. Fimbo ya kufurahisha inaendeshwa na voltage ya +5 V.

Mchoro wa wingu ya Joystick kwa Arduino
Mchoro wa wingu ya Joystick kwa Arduino

Hatua ya 3

Ili kuona wazi jinsi fimbo ya kufurahisha inavyofanya kazi, wacha tuandike mchoro kama huo. Wacha tutangaze pini, weka njia za kufanya kazi kwao. Kumbuka kuwa katika utaratibu wa kuanzisha (), tunaweka pembejeo ya switchPin kwa kiwango cha juu. Hii inawezesha kipinga-kujengwa cha kujiondoa kwenye bandari hii. Ikiwa haujaiwasha, basi kitufe cha starehe kisipobanwa, bandari ya 8 ya Arduino itaning'inia angani na kunasa picha za picha. Hii itasababisha chanya zisizohitajika, zenye machafuko.

Katika utaratibu wa kitanzi, sisi huchagua kila wakati hali ya kitufe na kuionesha kwa kutumia LED kwenye pato la 13. Kwa sababu ya pembejeo ya switchPin kuvutwa juu, LED inaendelea kuwashwa, na wakati kitufe kinabanwa, huenda nje, na sio kinyume chake.

Ifuatayo, tulisoma usomaji wa nguvu mbili za shimo la furaha - pato la shoka za X na Y. Arduino ina ADC ya 10-bit, kwa hivyo maadili yaliyosomwa kutoka kwa fimbo ya kufurahisha yapo kati ya 0 hadi 1023. Katika nafasi ya katikati ya fimbo ya kufurahisha, kama unaweza kuona kwenye kielelezo, maadili katika mkoa wa 500 ni karibu katikati ya masafa.

Mchoro wa kuonyesha utendaji wa fimbo ya furaha
Mchoro wa kuonyesha utendaji wa fimbo ya furaha

Hatua ya 4

Kawaida fimbo ya furaha hutumiwa kudhibiti motors za umeme. Lakini kwa nini usitumie kudhibiti mwangaza wa LED, kwa mfano? Wacha tuunganishe RGB LED (au LED tatu za kawaida) kwa bandari za dijiti 9, 10 na 11 ya Arduino kulingana na mchoro hapo juu, bila kusahau, kwa kweli, juu ya vipinga.

Mchoro wa waya wa Joystick na RGB kwa Arduino
Mchoro wa waya wa Joystick na RGB kwa Arduino

Hatua ya 5

Tutabadilisha mwangaza wa rangi zinazoendana wakati wa kubadilisha msimamo wa fimbo ya kufurahisha kando ya shoka, kama inavyoonyeshwa kwenye takwimu. Kwa sababu ya ukweli kwamba fimbo ya kufurahisha haiwezi kuzingatiwa kwa usahihi na mtengenezaji na kuwa na kiwango cha kati sio kwa karibu 512, lakini kutoka 490 hadi 525, LED inaweza kuwaka kidogo hata wakati fimbo ya kufurahisha iko katika hali ya upande wowote. Ikiwa unataka kuzima kabisa, basi fanya marekebisho yanayofaa kwa programu hiyo.

Mchoro wa usambazaji wa mwangaza wa njia za R, G, B kando ya shoka za X na Y
Mchoro wa usambazaji wa mwangaza wa njia za R, G, B kando ya shoka za X na Y

Hatua ya 6

Kulingana na mchoro ulio hapo juu, tutaandika mchoro wa udhibiti wa Arduino mwangaza wa RGB LED ukitumia fimbo ya kufurahisha.

Kwanza, tutatangaza mawasiliano ya pini na anuwai mbili - ledOn na prevSw - kwa kufanya kazi na kitufe. Katika utaratibu wa usanidi (), weka kazi kwenye pini na unganisha kontena la kuvuta kwa pini ya kitufe na amri ya dijiti ya Kuandika (swPin, HIGH).

Katika kitanzi () tunafafanua kubonyeza kitufe cha starehe. Unapobonyeza kitufe, tunabadilisha njia za uendeshaji kati ya hali ya "tochi" na hali ya "muziki wa rangi".

Katika hali ya bureMode (), mwangaza wa LED unadhibitiwa kwa kuelekeza fimbo ya kufurahisha kwa mwelekeo tofauti: nguvu ya kuegemea kando ya mhimili, rangi inayolingana inang'aa. Kwa kuongezea, mabadiliko ya maadili huchukuliwa na kazi ya ramani (thamani, kutokaLower, kutokaUpper, toLower, toUpper). Kazi ya ramani () huhamisha maadili yaliyopimwa (kutoka Chini, hadi Juu) kando ya shoka za faraja kwenda kwa mwangaza unaotakiwa (hadi Chini, hadi Juu). Unaweza kufanya vivyo hivyo na shughuli za hesabu za kawaida, lakini nukuu hii ni fupi sana.

Katika hali ya discoMode (), rangi tatu zinapeana mwangaza na kwenda nje. Ili kuweza kutoka kitanzi wakati kitufe kinabanwa, tunaangalia kila iteration ili kuona ikiwa kifungo kimesisitizwa.

Mchoro wa kudhibiti mwangaza wa LED ukitumia fimbo ya kufurahisha ya analog
Mchoro wa kudhibiti mwangaza wa LED ukitumia fimbo ya kufurahisha ya analog

Hatua ya 7

Matokeo yake ni tochi iliyotengenezwa na RGB LED ya rangi tatu, mwangaza wa kila rangi ambayo imewekwa kwa kutumia fimbo ya kufurahisha. Na unapobonyeza kitufe, hali ya "muziki wa rangi" imeamilishwa. Ingawa mimi hutumia, badala yake, kama taa ya usiku.

Kwa hivyo, tulijifunza jinsi ya kuunganisha fimbo ya kufurahisha ya axis mbili na kifungo kwa Arduino na kusoma usomaji kutoka kwake. Unaweza kufikiria na kutekeleza matumizi ya kufurahisha zaidi ya kifurushi kuliko mfano wetu.

Ilipendekeza: