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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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.

 

Źródło : http://blog.mageek.com.pl/uncategorized/joystick/