Menu mobile
LECCIÓN 15: JOYSTICK
Introducción
En esta lección aprenderemos a utilizar un módulo de joystick.
Componentes
{Product:2000}{Product:256}{Product:1436}{Product:536}{Product:542}
Principio
El módulo tiene 5 pines: Vcc, Ground, X, Y, Key /Select.
Ten en cuenta que las etiquetas en el tuyo pueden ser ligeramente diferentes, dependiendo de dónde obtuviste el módulo.
Fundamentalmente el joystick consta de dos potenciómetros y un interruptor de botón.
El joystick es analógico y debe proporcionar lecturas más precisas que simples joysticks "direccionales" que utilizan algunos tipos de botones, o interruptores mecánicos. Además, puede presionar el joystick hacia abajo para activar el pulsador "pulsar para seleccionar".
Tenemos que utilizar pines analógicos Arduino para leer los datos de los pines X /Y, y un pin digital para leer el botón/interruptor Key.
Para obtener lecturas estables desde el pin Key /Select, debe estar conectado a través de una resistencia pull-up. Se pueden utilizar las resistencias incorporadas en los pines digitales Arduino.
Procedimiento
Paso 1: Conecta el circuito como se muestra en el siguiente diagrama (asegurate de que los pines estén conectados correctamente aunque los caracteres no se muestren correctamente):
Paso 2: Programa (consulta el código de ejemplo en el CD o sitio web oficial)
int xPin = A1;
int yPin = A0;
int buttonPin = 2;
int xPosition = 0;
int yPosition = 0;
int buttonState = 0;
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
//activate pull-up resistor on the push-button pin
pinMode(buttonPin, INPUT_PULLUP);
// For versions prior to Arduino 1.0.1
// pinMode(buttonPin, INPUT);
// digitalWrite(buttonPin, HIGH);
}
void loop() {
xPosition = analogRead(xPin);
yPosition = analogRead(yPin);
buttonState = digitalRead(buttonPin);
Serial.print("X: ");
Serial.print(xPosition);
Serial.print(" | Y: ");
Serial.print(yPosition);
Serial.print(" | Button: ");
Serial.println(buttonState);
delay(100); // add some delay between reads
Paso 3: Compila el programa
Paso 4: Graba el programa en Uno placa
Paso 5: Abre "herramienta-monitor", para ver los datos.