Ako Pripojiť Joystick K Arduinu

Obsah:

Ako Pripojiť Joystick K Arduinu
Ako Pripojiť Joystick K Arduinu

Video: Ako Pripojiť Joystick K Arduinu

Video: Ako Pripojiť Joystick K Arduinu
Video: Как подключить китайский геймпад 2024, Apríl
Anonim

Existuje široká škála spôsobov prenosu informácií z človeka do mikrokontroléra alebo počítača a jedným z nich je použitie joysticku. Pozrime sa, ako pripojiť k Arduinu analógový joystick s dvoma osami a tlačidlom.

Joystick s dvoma osami a tlačidlom
Joystick s dvoma osami a tlačidlom

Je to nevyhnutné

  • - Arduino;
  • - dvojosový joystick;
  • - 3 rezistory s nominálnou hodnotou 220 Ohm;
  • - 1 RGB alebo 3 bežné LED.

Inštrukcie

Krok 1

Joystick je pohodlné a ľahko použiteľné zariadenie na prenos informácií. Existuje veľké množstvo typov joystickov, pokiaľ ide o počet stupňov voľnosti, princíp čítania indikácií a použité technológie. Joysticky sa najčastejšie používajú na riadenie pohybu akýchkoľvek mechanizmov, kontrolovaných modelov, robotov. Analógovým joystickom, na ktorý sa dnes pozrieme, je rukoväť pripevnená ku guľovému kĺbu s dvoma navzájom kolmými osami. Keď je gombík naklonený, os otáča pohyblivým kontaktom potenciometra, vďaka čomu sa mení napätie na jeho výstupe. Analógový joystick má tiež taktovacie tlačidlo, ktoré sa aktivuje pri vertikálnom stlačení rukoväte.

Schéma joysticku
Schéma joysticku

Krok 2

Pripojte joystick podľa nasledujúceho diagramu. Pripojte analógové výstupy X a Y joysticku k analógovým vstupom A1 a A2 Arduina, výstup SW tlačidla k digitálnemu vstupu 8. Joystick je napájaný napätím +5 V.

Schéma zapojenia joysticku pre Arduino
Schéma zapojenia joysticku pre Arduino

Krok 3

Aby sme jasne videli, ako joystick funguje, napíšme taký náčrt. Vyhlásime kolíky, nastavíme pre ne prevádzkové režimy. Všimnite si, že v procedúre setup () sme nastavili vstup switchPin na vysokú úroveň. Toto umožňuje zabudovaný pull-up rezistor na tomto porte. Ak ho nezapnete, potom keď nestlačíte tlačidlo joysticku, 8. port Arduino bude visieť vo vzduchu a zachytávať snímače. To povedie k nežiaducim, chaotickým falošným pozitívam.

V procedúre loop () neustále zisťujeme stav tlačidla a zobrazujeme ho pomocou LED na výstupe 13. Vďaka vytiahnutému vstupu switchPin LED stále svieti a po stlačení tlačidla zhasne, a nie naopak.

Ďalej čítame hodnoty z dvoch potenciometrov joysticku - výstup z osí X a Y. Arduino má 10-bitový ADC, takže hodnoty načítané z joysticku sú v rozmedzí od 0 do 1023. Ako vidíte na obrázku, v strednej polohe joysticku sú hodnoty v oblasti 500 približne v strede rozsahu.

Náčrt demonštrujúci činnosť joysticku
Náčrt demonštrujúci činnosť joysticku

Krok 4

Na ovládanie elektromotorov sa zvyčajne používa joystick. Prečo ho ale nepoužívať napríklad na reguláciu jasu LED? Pripojme RGB LED (alebo tri bežné LED) k digitálnym portom 9, 10 a 11 Arduina podľa vyššie uvedeného diagramu, samozrejme nezabúdame na rezistory.

Schéma zapojenia joysticku a RGB LED do Arduina
Schéma zapojenia joysticku a RGB LED do Arduina

Krok 5

Jas príslušných farieb zmeníme pri zmene polohy joysticku pozdĺž osí, ako je to znázornené na obrázku. Vzhľadom na to, že joystick nemusí byť výrobcom presne vycentrovaný a jeho stred nemusí byť okolo 512, ale od 490 do 525, môže LED mierne svietiť, aj keď je joystick v neutrálnej polohe. Ak chcete, aby bol program úplne vypnutý, urobte príslušné zmeny v programe.

Schéma rozdelenia jasu kanálov R, G, B pozdĺž osí X a Y
Schéma rozdelenia jasu kanálov R, G, B pozdĺž osí X a Y

Krok 6

Na základe vyššie uvedeného diagramu si pomocou joysticku napíšeme náčrt Arduina ovládajúceho jas RGB LED.

Najskôr deklarujeme korešpondenciu pinov a dvoch premenných - ledOn a prevSw - pre prácu s tlačidlom. V procedúre setup () priraďte funkcie pinom a príkazom digitalWrite (swPin, HIGH) pripojte pull-up rezistor na pin gombíka.

V slučke () definujeme stlačenie tlačidla joysticku. Po stlačení tlačidla prepneme prevádzkové režimy medzi režimom „baterka“a režim „farebná hudba“.

V režime freeMode () sa jas LED diód riadi nakláňaním joysticku v rôznych smeroch: čím silnejší je sklon pozdĺž osi, tým jasnejšia je príslušná farba. Transformáciu hodnôt navyše preberá funkcia mapy (value, fromLower, fromUpper, toLower, toUpper). Funkcia map () prenáša namerané hodnoty (z nízkej na vysokú) pozdĺž osí joysticku do požadovaného rozsahu jasu (na nízku, na vysokú). To isté môžete urobiť aj s bežnými aritmetickými operáciami, ale tento zápis je oveľa kratší.

V režime discoMode () tri farby striedavo zvyšujú jas a zhasínajú. Aby sme mohli opustiť slučku, keď je stlačené tlačidlo, kontrolujeme každú iteráciu, aby sme zistili, či bolo stlačené tlačidlo.

Náčrt ovládania jasu LED pomocou analógového joysticku
Náčrt ovládania jasu LED pomocou analógového joysticku

Krok 7

Výsledkom je baterka vyrobená z trojfarebnej RGB LED, ktorej jas každej farby sa nastavuje pomocou joysticku. A keď stlačíte tlačidlo, aktivuje sa režim „farebnej hudby“. Aj keď ho používam, naopak, ako nočné svetlo.

Takže sme sa naučili, ako pripojiť analógový dvojosový joystick s tlačidlom k Arduinu a čítať z neho údaje. Môžete vymyslieť a implementovať zaujímavejšie použitie joysticku ako náš príklad.

Odporúča: