Hogyan Lehet Egy Joystickot Csatlakoztatni Az Arduino-hoz

Tartalomjegyzék:

Hogyan Lehet Egy Joystickot Csatlakoztatni Az Arduino-hoz
Hogyan Lehet Egy Joystickot Csatlakoztatni Az Arduino-hoz

Videó: Hogyan Lehet Egy Joystickot Csatlakoztatni Az Arduino-hoz

Videó: Hogyan Lehet Egy Joystickot Csatlakoztatni Az Arduino-hoz
Videó: Устанавливаем драйвер для ARDUINO с CH340/CH341 2024, November
Anonim

Sokféle módon lehet információt átvinni egy személytől egy mikrovezérlőhöz vagy számítógéphez, és egyikük joystickot használ. Nézzük meg, hogyan lehet két tengellyel és egy gombbal analóg joystickot csatlakoztatni az Arduino-hoz.

Joystick két tengellyel és egy gombbal
Joystick két tengellyel és egy gombbal

Szükséges

  • - Arduino;
  • - kéttengelyes joystick;
  • - 3 ellenállás 220 Ohm névleges értékkel;
  • - 1 RGB vagy 3 hagyományos LED.

Utasítás

1. lépés

A joystick egy kényelmes és könnyen használható eszköz az információk továbbítására. Számos típusú joystick létezik a szabadság fokainak számát, a jelzések olvasásának elvét és az alkalmazott technológiákat tekintve. A joystickokat leggyakrabban bármilyen mechanizmus, vezérelt modell, robot mozgásának vezérlésére használják. Az analóg joystick, amelyet ma meg fogunk nézni, egy két, egymásra merőleges tengellyel ellátott gömbcsuklóhoz rögzített fogantyú. A gomb megdöntésekor a tengely elforgatja a potenciométer mozgatható érintkezőjét, aminek következtében a kimenetén változik a feszültség. Az analóg joysticknak van egy tapintógombja is, amely akkor aktiválódik, ha a fogantyút függőlegesen megnyomja.

Joystick vázlatos diagram
Joystick vázlatos diagram

2. lépés

Csatlakoztassa a joystickot az alábbi ábra szerint. Csatlakoztassa a joystick X és Y analóg kimeneteit az Arduino A1 és A2 analóg bemeneteihez, az SW gomb kimenetét a 8. digitális bemenethez. A joystickot +5 V feszültség táplálja.

Joystick kapcsolási rajz az Arduino számára
Joystick kapcsolási rajz az Arduino számára

3. lépés

Annak érdekében, hogy tisztán lássuk a joystick működését, írjunk egy ilyen vázlatot. Nyújtsuk ki a csapokat, állítsuk be a működési módokat. Vegye figyelembe, hogy a setup () eljárás során a switchPin bemenetet magas szintre állítjuk. Ez lehetővé teszi a beépített húzóellenállást ezen a porton. Ha nem kapcsolja be, akkor amikor a joystick gombot nem nyomja meg, a 8. Arduino port a levegőben lóg és elkapja a hangszedőket. Ez nem kívánt, kaotikus hamis pozitív eredményeket eredményez.

A ciklus () eljárás során folyamatosan lekérdezzük a gomb állapotát, és a 13. kimenet LED-jével jelenítjük meg. A switchPin bemenet felhúzása miatt a LED folyamatosan világít, és amikor a gombot megnyomja, kialszik., és nem fordítva.

Ezután a joystick két potenciométerének leolvasását olvassuk el - az X és Y tengely kimenetét. Az Arduino 10 bites ADC-vel rendelkezik, így a joystickról leolvasott értékek 0 és 1023 között mozognak. A joystick középső helyzetében, amint az az ábrán látható, az 500 tartományban lévő értékek körülbelül a tartomány közepe felé esnek.

Vázlat a joystick működésének bemutatására
Vázlat a joystick működésének bemutatására

4. lépés

Általában joystickot használnak az elektromos motorok vezérléséhez. De miért ne használná például egy LED fényerejének szabályozására? Csatlakoztassunk egy RGB LED-et (vagy három közönséges LED-et) az Arduino 9., 10. és 11. digitális portjához a fenti ábra szerint, természetesen az ellenállásokról sem feledkezve meg.

Joystick és RGB LED kapcsolási rajz az Arduino-hoz
Joystick és RGB LED kapcsolási rajz az Arduino-hoz

5. lépés

Megváltoztatjuk a megfelelő színek fényerejét, amikor megváltoztatjuk a joystick helyzetét a tengelyek mentén, az ábra szerint. Annak a ténynek köszönhetően, hogy a joystickot nem pontosan a gyártó állítja középre, és a skála közepe nem 512 körül van, hanem 490 és 525 között, a LED kissé kigyulladhat akkor is, ha a joystick semleges helyzetben van. Ha azt szeretné, hogy teljesen ki legyen kapcsolva, akkor végezze el a megfelelő módosításokat a programon.

Az R, G, B csatornák fényeloszlásának diagramja az X és Y tengely mentén
Az R, G, B csatornák fényeloszlásának diagramja az X és Y tengely mentén

6. lépés

A fenti ábra alapján egy joystick segítségével írunk egy vázlatot az Arduino vezérléséről az RGB LED fényerejéről.

Először deklaráljuk a gombok használatához szükséges csapok és két változó - ledOn és prevSw - megfelelőségét. A setup () eljárás során rendelje hozzá a függvényeket a csapokhoz, és a digitalWrite (swPin, HIGH) paranccsal kösse össze a felhúzási ellenállást a gombostűvel.

A ciklusban () meghatározzuk a joystick gomb megnyomását. Amikor megnyomja a gombot, átkapcsoljuk az üzemmódokat a "zseblámpa" és a "színes zene" mód között.

FreeMode () módban a LED-ek fényerejét a joystick különböző irányokba döntésével lehet szabályozni: minél erősebb a billenés a tengely mentén, annál világosabb a megfelelő szín. Ezenkívül az értékek átalakítását a térképfüggvény veszi át (érték, fromLower, fromUpper, toLower, toUpper). A map () függvény a mért értékeket (Alacsony, Magas) átviszi a joystick tengelye mentén a kívánt fényerő tartományba (Alacsony, Magas). Ugyanezt megteheti a hétköznapi számtani műveletekkel is, de ez a jelölés sokkal rövidebb.

A discoMode () módban három szín felváltva kap fényerőt és kialszik. Annak érdekében, hogy a gomb megnyomásakor kiléphessünk a hurokból, minden egyes iterációt ellenőrizünk, hogy megnyomtuk-e a gombot.

Vázlat a LED fényerejének szabályozásához analóg joystick segítségével
Vázlat a LED fényerejének szabályozásához analóg joystick segítségével

7. lépés

Az eredmény egy háromszínű RGB LED-ből készült zseblámpa, amelynek színének fényerejét joystick segítségével állíthatjuk be. És amikor megnyomja a gombot, a "színes zene" mód aktiválódik. Bár éppen ellenkezőleg, éjszakai fényként használom.

Így megtanultuk, hogyan kell egy analóg kéttengelyes joystickot egy gombbal összekapcsolni az Arduino-val, és leolvasni belőle. Gondolhat és megvalósíthatja a joystick érdekesebb használatát, mint a példánk.

Ajánlott: