Joystick

Zajmijmy się sterowaniem przy pomocy joysticka, czyli urządzenia zamieniające wychylenie w dwóch kierunkach na dwa sygnały analogowe, które możemy odczytać przy pomocy np. Arduino. Inaczej mówiąc joystick to 2 złączone potencjometry.

Tak jak w przypadku potencjometru Arduino będzie odczytywać 2 napięcia w postaci analogowej i zamieniać to je na 2 wartości cyfrowe. I tak skrajne dolne położenie odpowiada wartości 0, skrajne górne wartości 1023, skrajne lewe wartości 0 i skrajne prawe to 1023. W dobrze wykonanych joystickach liczby te są dokładne, w tańszych mogą odbiegać nawet o 10. Najczęściej joysticki występują też z wbudowanym przyciskiem. I tak w tym joysticku dedykowanym do Arduino mamy w sumie 5 przyłączeń: GND(masa), 5V(zasilanie), Y(wychylenie w osi pionowej), X(wychylenie w osi pionowej), KEY(przycisk).

Przykładowe podłączenie do Arduino:

Program będzie odczytywał wychylenie z dwóch pinów analogowych i przycisk z jednego cyfrowego i wyświetlał na ekranie komputera.

Oto kod tego programu:


void setup()  
{  
  Serial.begin(9600);//ustawiamy port szeregowy do komunikacji z komputerem  
    
  pinMode(13, INPUT);//ustawiamy pin A3 jako wejście pod przycisk
  pinMode(A0, INPUT);//piny A0 i A1 ustawiam jako wejścia - podepniemy tam odpowiednio osie X i Y joysticka  
  pinMode(A1, INPUT);  
}  
  
  
void loop()  
{  
  int x=analogRead(A0);//odczytamy wartości napięć dla osi X i Y  
  int y=analogRead(A1);  
  Serial.print(x);//wyświetlamy je  
  Serial.print(" ");  
  Serial.print(y);  
  Serial.print(" ");  
  Serial.println(digitalRead(13));
}  

Po wgraniu kodu, uruchamiamy monitor portu szeregowego i patrzymy co się dzieje. Powinny wyświetlać się: w pierwszej linii wychylenie X, w drugiej Y i w trzeciej to stan przycisku.

Kamil Gniedziejko