- Nuevo


🚚 Plazo de envío estimado 24/48h. Consulta nuestras condiciones de entrega.
🚚 Plazo de envío estimado 24/48h. Consulta nuestras condiciones de entrega.
Módulo joystick KY-023 de doble eje (X, Y) con pulsador integrado (eje Z), basado en dos potenciómetros de 10K. Salida analógica en X e Y y salida digital en el pulsador, compatible con Arduino y otros microcontroladores con al menos 2 entradas analógicas.
Voltaje de funcionamiento de 3,3V a 5V. En reposo, la lectura de X e Y es aproximadamente la mitad del voltaje de alimentación (unos 2,5V con alimentación a 5V).
El módulo KY-023 es un joystick de doble eje pensado para proyectos de control remoto, robótica e interfaces de usuario con Arduino u otros microcontroladores. Incorpora dos potenciómetros de 10K montados perpendicularmente entre sí (uno para el eje X, otro para el eje Y) y un pulsador digital que se activa al presionar la palanca hacia abajo (eje Z).
Cada potenciómetro actúa como un divisor de tensión entre VCC y GND: con la palanca en reposo (posición central), tanto VRx como VRy dan una lectura de aproximadamente la mitad del voltaje de alimentación (unos 2,5V con una alimentación de 5V). Al mover la palanca hacia un extremo, la lectura sube hacia VCC; al moverla hacia el extremo opuesto, baja hacia 0V.
Dispone de 5 pines claramente identificados: GND, +5V (VCC), VRx (salida analógica del eje X), VRy (salida analógica del eje Y) y SW (salida digital del pulsador). El pulsador es un interruptor normalmente abierto que conecta a GND al pulsarlo, por lo que se recomienda activar la resistencia pull-up interna del microcontrolador (INPUT_PULLUP) en el pin digital correspondiente.
Modelo: KY-023
Tipo: Joystick de doble eje con pulsador
Voltaje de funcionamiento: 3,3V a 5V DC
Resistencia de los potenciómetros: 10K (eje X e Y)
Salida analógica: VRx, VRy (0V a VCC, punto medio en reposo)
Salida digital: SW (pulsador, normalmente abierto a GND)
Número de pines: 5 (GND, +5V, VRx, VRy, SW)
Dimensiones aproximadas: 34 x 26 x 32mm (puede variar ligeramente según el lote)
Peso aproximado: 11g
Compatibilidad: Arduino (Uno, Nano, Mega...), ESP32, ESP8266 y otros microcontroladores con ADC
Ejemplo de código (Arduino):
const int xPin = A0;
const int yPin = A1;
const int swPin = 2;
void setup() {
pinMode(swPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int x = analogRead(xPin);
int y = analogRead(yPin);
int z = digitalRead(swPin);
Serial.print(x);
Serial.print(",");
Serial.print(y);
Serial.print(",");
Serial.println(z);
delay(100);
}
El pin SW es un interruptor normalmente abierto, sin resistencia pull-up incorporada en la mayoría de módulos de este tipo: hay que activar la resistencia pull-up interna del microcontrolador (INPUT_PULLUP) o añadir una externa; sin ella, la lectura del pulsador puede ser inestable.
La posición de reposo exacta rara vez es exactamente el punto medio del rango del ADC: es habitual tener que calibrar por software (leer el valor en reposo y usarlo como referencia) para compensar pequeñas variaciones de fabricación.
Si se usa con un microcontrolador de lógica de 3,3V (por ejemplo, ESP32), hay que alimentar el módulo a 3,3V, no a 5V, para no superar el rango de entrada admitido por sus pines analógicos.
Referencias específicas