Vom afișa în Serial Monitor valorile coordonatelor joystick-ului.
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);
}
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.
Observație! Cu o astfel de componentă se pot realiza diverse proiecte cum ar fi controlul unui robot sau al unui rover.