El módulo tiene 5 pines: VCC, GNG, X, Y, pulsación. La salida X, Y es analógica, además, puede presionar el joystick hacia abajo para activar la salida digital.
-
- VCC o +5V: alimentación del módulo.
- GND: Conexión a tierra.
- VRx o HORZ: permite conocer la posición de la palanca con el eje x (movimiento horizontal).
- VRy o VERT: permite conocer la posición de la palanca con el eje y (movimiento vertical).
- SW o SEL: pulsador
Cuando el joystick se encuentra en la posición de reposo o medio, debe devolver un valor de aproximadamente 512.
Tenemos que usar pines Arduino analógicos para leer los datos de los pines X / Y, y un pin digital para leer el botón.
Para obtener lecturas estables del pin Key / Select, debes conectar a VCC a través de una resistencia pull-up. Aunque las resistencias incorporadas en los pines digitales de Arduino se pueden utilizar (INPUT_PULLUP).
Abrir el monitor serie y el serial plotter para ver los valores de salida del joystic.
El código:
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
void setup() {
pinMode(SW_pin, INPUT_PULLUP );
Serial.begin(250000);
}
void loop() {
Serial.print(«Switch: «);
Serial.print(digitalRead(SW_pin)*500);
Serial.print(» «);
Serial.print(«X-axis: «);
Serial.print(analogRead(X_pin));
Serial.print(» «);
Serial.print(«Y-axis: «);
Serial.println(analogRead(Y_pin));
Serial.print(«\n»);
}