Jak Připojit Joystick K Arduinu

Obsah:

Jak Připojit Joystick K Arduinu
Jak Připojit Joystick K Arduinu

Video: Jak Připojit Joystick K Arduinu

Video: Jak Připojit Joystick K Arduinu
Video: How to connect and use an Analog Joystick with an Arduino - Tutorial 2024, Duben
Anonim

Existuje široká škála způsobů přenosu informací z osoby do mikrokontroléru nebo počítače a jedním z nich je použití joysticku. Uvidíme, jak připojit k Arduinu analogový joystick se dvěma osami a tlačítkem.

Joystick se dvěma osami a tlačítkem
Joystick se dvěma osami a tlačítkem

Je to nutné

  • - Arduino;
  • - dvouosý joystick;
  • - 3 rezistory se jmenovitou hodnotou 220 Ohm;
  • - 1 RGB nebo 3 konvenční LED.

Instrukce

Krok 1

Joystick je pohodlné a snadno použitelné zařízení pro přenos informací. Existuje velké množství typů joysticků, pokud jde o počet stupňů volnosti, princip čtení indikací a použité technologie. Joysticky se nejčastěji používají k ovládání pohybu jakýchkoli mechanismů, řízených modelů, robotů. Analogový joystick, na který se dnes podíváme, je rukojeť připevněná ke kulovému kloubu se dvěma vzájemně kolmými osami. Když je knoflík nakloněn, osa otáčí pohyblivým kontaktem potenciometru, díky čemuž se mění napětí na jeho výstupu. Analogový joystick má také taktovací tlačítko, které se aktivuje, když stisknete rukojeť svisle.

Schéma joysticku
Schéma joysticku

Krok 2

Připojte joystick podle níže uvedeného schématu. Připojte analogové výstupy X a Y joysticku k analogovým vstupům A1 a A2 Arduina, výstup tlačítka SW k digitálnímu vstupu 8. Joystick je napájen napětím +5 V.

Schéma zapojení joysticku pro Arduino
Schéma zapojení joysticku pro Arduino

Krok 3

Abychom jasně viděli, jak joystick funguje, vytvořme takový náčrt. Pojďme deklarovat piny, nastavit pro ně provozní režimy. Všimněte si, že v proceduře setup () jsme nastavili vstup switchPin na vysokou úroveň. To umožňuje vestavěný pull-up rezistor na tomto portu. Pokud jej nezapnete, pak když není stisknuto tlačítko joysticku, 8. port Arduino bude viset ve vzduchu a chytat snímače. To povede k nechtěným, chaotickým falešným pozitivům.

V proceduře loop () neustále dotazujeme stav tlačítka a zobrazujeme jej pomocí LED na výstupu 13. Díky vytaženému vstupu switchPin je LED neustále rozsvícená a po stisknutí tlačítka zhasne, a ne naopak.

Dále čteme odečty dvou potenciometrů joysticku - výstup os X a Y. Arduino má 10bitový ADC, takže hodnoty čtené z joysticku leží v rozsahu od 0 do 1023. Ve střední poloze joysticku, jak vidíte na obrázku, jsou hodnoty v oblasti 500 přibližně uprostřed rozsahu.

Náčrt, který demonstruje fungování joysticku
Náčrt, který demonstruje fungování joysticku

Krok 4

K ovládání elektromotorů se obvykle používá joystick. Proč jej ale nepoužívat například k ovládání jasu LED? Připojte RGB LED (nebo tři běžné LED) k digitálním portům 9, 10 a 11 Arduina podle výše uvedeného diagramu, samozřejmě nezapomínáme ani na rezistory.

Schéma zapojení joysticku a RGB LED do Arduina
Schéma zapojení joysticku a RGB LED do Arduina

Krok 5

Při změně polohy joysticku podél os změníme jas odpovídajících barev, jak je znázorněno na obrázku. Vzhledem k tomu, že joystick nemusí být výrobcem přesně vycentrován a jeho střed stupnice není kolem 512, ale od 490 do 525, může LED mírně svítit, i když je joystick v neutrální poloze. Pokud chcete, aby byl úplně vypnutý, proveďte příslušné úpravy programu.

Schéma rozložení jasu kanálů R, G, B podél os X a Y
Schéma rozložení jasu kanálů R, G, B podél os X a Y

Krok 6

Na základě výše uvedeného diagramu napíšeme náčrt Arduino ovládání jasu RGB LED pomocí joysticku.

Nejprve deklarujeme korespondenci pinů a dvou proměnných - ledOn a prevSw - pro práci s tlačítkem. V proceduře setup () přiřaďte funkce pinům a připojte pull-up rezistor na pin tlačítka pomocí příkazu digitalWrite (swPin, HIGH).

Ve smyčce () definujeme stisknutí tlačítka joysticku. Když stisknete tlačítko, přepneme provozní režimy mezi režimem „baterky“a režimem „barevná hudba“.

V režimu freeMode () je jas LED diod ovládán nakloněním joysticku v různých směrech: čím silnější je sklon podél osy, tím jasnější příslušná barva svítí. Transformaci hodnot navíc převezme funkce mapy (value, fromLower, fromUpper, toLower, toUpper). Funkce map () přenáší naměřené hodnoty (od nízkých po vysoké) podél os joysticku do požadovaného rozsahu jasu (od nízkých po vysoké). Totéž můžete udělat s běžnými aritmetickými operacemi, ale tento zápis je mnohem kratší.

V režimu discoMode () tři barvy střídavě získávají jas a zhasnou. Abychom mohli opustit smyčku po stisknutí tlačítka, zkontrolujeme každou iteraci, abychom zjistili, zda bylo stisknuto tlačítko.

Náčrt pro ovládání jasu LED pomocí analogového joysticku
Náčrt pro ovládání jasu LED pomocí analogového joysticku

Krok 7

Výsledkem je svítilna vyrobená z tříbarevné RGB LED, jejíž jas se nastavuje pomocí joysticku. A když stisknete tlačítko, aktivuje se režim „barevná hudba“. I když ji naopak používám jako noční světlo.

Naučili jsme se tedy, jak připojit analogový dvouosý joystick s tlačítkem k Arduinu a číst z něj hodnoty. Můžete vymyslet a implementovat zajímavější použití joysticku než náš příklad.

Doporučuje: