Joystick

A. Scopul proiectului

Vom afișa în Serial Monitor valorile coordonatelor joystick-ului.

B. Componentele necesare

  • Arduino Uno;
  • Modul de tip joystick biaxial;
  • Fire.

C. Diagrama de conectare

Diagrama de conectare a joystickului cu placa Arduino Uno

D. Conexiunea firelor

  • GND la GND;
  • 5V la 5V;
  • VRx la pinul A0;
  • VRy la pinul A1;
  • SW la pinul D8;

E. Codul sursă

int xValue = 0 ; // Axa x
int yValue = 0 ;  //Axa y
int bValue = 0 ;  //Valoarea butonului
void setup()  
{ 
  Serial.begin(9600) ;
  pinMode(9, INPUT); 
  digitalWrite(9, HIGH); 
} 
void loop() 
{ 
  xValue = analogRead(A0);  //Citim axa x
  yValue = analogRead(A1);  //Citim axa y
  bValue = digitalRead(8);  //Citim valoarea butonului (1/0)
  Serial.print(xValue, DEC); //Afișăm coordonata x
  Serial.print(",");
  Serial.print(yValue, DEC); //Afișăm coordonata y
  Serial.print(",");
  Serial.print(!bValue); //Afișăm valoarea butonului
  Serial.print("\n"); //Rând nou
  delay(1000);  
}

F. Informații

Când apasăm joystick-ul, fără a-i schimba poziția, se va acționa mecanic un buton care va conecta dispozitivul la GND oferind o ieșire LOW.

În poziția de repaus valorile coordonatelor sunt x=512, y=512, iar butonul are valoarea 0. Când acționăm asupra stick-ului valorile se vor schimba datorită modificării poziției celor 2 potențiometre incorporate. Axa x reprezintă direcția stânga-dreapta, iar axa y direcția sus-jos.

Datele de ieșire pentru joystick

Observație! Cu o astfel de componentă se pot realiza diverse proiecte cum ar fi controlul unui robot sau al unui rover.