Modul joystick

Splošno

Modul joystick je elektronska komponenta, ki omogoča uporabniku interakcijo z elektronskimi napravami ali sistemom z gibanjem ročice v različnih smereh. Analogni joystick modul je pogosto uporabljen v hobby in DIY (naredi sam) projektih, kot so robotika, avtomatizacija, video igre in druge aplikacije, kjer je potreben natančen nadzor gibanja ali položaja.

Analogni hobby joystick modul za Arduino običajno vsebuje dva potenciometra, ki se uporabljata za zaznavanje gibanja ročice v dveh oseh (X in Y). Ko se ročica premika, se spreminja upornost potenciometrov, kar ustvarja spremenljiv analogni signal, ki je sorazmeren z amplitudo in smerjo gibanja ročice. Ta analogni signal lahko nato bere in obdeluje Arduino ali drug mikrokontroler.

Poleg tega mnogi analogni joystick moduli vključujejo tudi tretji vhod, imenovan “push button” ali stikalo na pritisk. To stikalo se aktivira, ko uporabnik pritisne navzdol na ročico joysticka, kar omogoča dodatno funkcionalnost, kot so meniji, izbira možnosti ali posebna dejanja.

Analogni joystick moduli za Arduino so enostavni za uporabo, saj potrebujete le nekaj žic za povezavo z analognimi vhodi in digitalnimi vhodi/izhodi mikrokontrolerja. Vse, kar morate storiti, je branje analognih vrednosti iz potenciometrov in obdelava teh podatkov v vašem programu, da dosežete želeno funkcionalnost.

Uvod

Veliko DIY projektov potrebuje joystick. Ta modul zagotavlja dostopno in poceni rešitev.

Z enostavnim povezovanjem dveh analognih vhodov je naprava pripravljena na vaše ukaze s krmiljenjem X in Y. Modul ima tudi stikalo, ki je povezano s digitalnim pinom.

 

thumb

Specifikacije

  • Napetost napajanja: od 3,3 V do 5 V

  • Vmesnik: Analogni x2, Digitalni x1

thumb

Programska koda

				
					int JoyStick_X = 0; //x
int JoyStick_Y = 1; //y
int JoyStick_Z = 3; //key
  void setup() 
{
  pinMode(JoyStick_Z, INPUT); 
  Serial.begin(9600); // 9600 bps
}
void loop() 
{
  int x,y,z;
  x=analogRead(JoyStick_X);
  y=analogRead(JoyStick_Y);
  z=digitalRead(JoyStick_Z);
  Serial.print(x ,DEC);
  Serial.print(",");
  Serial.print(y ,DEC);
  Serial.print(",");
  Serial.println(z ,DEC);
  delay(100);
}

				
			

Rezultat

Ko je vezje pravilno priklopljeno in je koda naložena, odprite serijski monitor in nastavite hitrost prenosa na 9600. Pritisnite joystick in vrednost bo prikazana spodaj.

 thumb

 

thumb