Descripción
El Ky023 (KY-023) es un joystick de 2 ejes con pulsador, al estilo del mando de la PS2. Cuenta con dos ejes analógicos (ejeX, ejeY) y pulsador (al presionar el Joystick). La salida analógica de cada eje es el punto central de un potenciómetro, el pulsador es un pulsador que debe usarse con pull-up (sin pulsar proporciona HIGH, al pulsar proporciona LOW).
Uso de los ejes: Si se alimenta el módulo entre 0V y 5V, la salida de los pines ejeX y ejeY variará entre 0V y 5V, siendo 2,5V el valor que corresponde al punto de reposo.
Uso del pulsador: Debe usarse con el pull-up interno activado (configurar el pin de Arduino con la orden: «pinMode(pin, INPUT_PULLUP);»). Si se desea usar pull-up externo se puede hacer soldando una resistencia 1206 en el pad R5 del módulo (por defecto sin resistencia).
Conexionado:
- GND del KY023: a GND de Arduino
- Vcc del KY023: a 5V de Arduino
- VRx del KY023: Al pin A0 de Arduino (entrada analógica)
- VRy del KY023: Al pin A1 de Arduino (entrada analógica)
- SW del KY023: Al pin D7 de Arduino (entrada digital)
Código de ejemplo:
const int ejeX = A0; const int ejeY = A1; const int push = 7; // *** CONFIGURACIÓN *** void setup() { pinMode(push, INPUT_PULLUP); // Se activa el pull-up interno para la señal del pulsador Serial.begin(9600); // Monitor serie a 9600bps } // *** CÓDIGO PRINCIPAL *** void loop() { int valorX = 0, valorY = 0; bool pulsador = false; // Se leen entradas analógicas valorX = analogRead(ejeX); delay(100); //entre lecturas analógicas es necesaria una pequeña pausa delay(100); //es necesaria una pequeña pausa entre lecturas analógicas valorY= analogRead(ejeY); // Se lee entrada digital pulsador = digitalRead(push); // Se muestran los valores por el monitor serie Serial.print("X:" ); Serial.print(valorX); Serial.print(" , Y: "); Serial.print(valorY); Serial.print(" , Pulsador: "); Serial.println(pulsador); delay(1000); }
Valoraciones
No hay valoraciones aún.