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.