SKU 00045
Modulo Joystick
$1,40
Disponible
4 disponibles
Consultar por WhatsApp
Datos rápidos
- Ejes
- 2 (X e Y), con potenciómetros de unos 10 kΩ
- Salidas
- VRx y VRy analógicas; en reposo cerca de la mitad (unos 512 en el Arduino)
- Botón
- SW: se une a GND al presionar la palanca
- Alimentación
- 3,3 a 5 V
Características
Palanca de mando de dos ejes, como la de un control de videojuegos: entrega dos voltajes que indican la posición horizontal (X) y vertical (Y), y al presionarla funciona como botón. Por dentro tiene dos potenciómetros y un pulsador.
Se usa para controlar robots, brazos, cámaras con servos o juegos hechos con Arduino.
| Ejes | 2 (X e Y), con potenciómetros de unos 10 kΩ |
|---|---|
| Salidas | VRx y VRy analógicas; en reposo cerca de la mitad (unos 512 en el Arduino) |
| Botón | SW: se une a GND al presionar la palanca |
| Alimentación | 3,3 a 5 V |
| Pines | GND, +5V, VRx, VRy y SW |
¿Para qué sirve?
- Controlar robots y carritos
- Mover brazos o cámaras con servos
- Juegos y menús hechos con Arduino
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| negro | GND | GND | |
| rojo | +5V | 5V | |
| amarillo | VRx | A0 | Eje X |
| verde | VRy | A1 | Eje Y |
| azul | SW | D2 | Botón |
Código de prueba
// Prueba del joystick: muestra la posición de los ejes X e Y y si el botón
// (presionar la palanca) está presionado. En reposo X e Y rondan 512.
const int PIN_X = A0;
const int PIN_Y = A1;
const int PIN_SW = 2;
void setup() {
pinMode(PIN_SW, INPUT_PULLUP); // el botón une SW con GND al presionarlo
Serial.begin(9600);
}
void loop() {
int x = analogRead(PIN_X); // 0 a 1023
int y = analogRead(PIN_Y);
bool presionado = digitalRead(PIN_SW) == LOW;
Serial.print("X: "); Serial.print(x);
Serial.print(" Y: "); Serial.print(y);
Serial.print(" Botón: ");
Serial.println(presionado ? "presionado" : "suelto");
delay(200);
}
Abre el Monitor serie a 9600 baudios y mueve la palanca. El valor en reposo casi nunca es exactamente 512: ignora cambios pequeños (por ejemplo ±20) para que lo que controles no se mueva solo.
Precauciones
- Usa INPUT_PULLUP en SW: sin eso el botón da lecturas al azar.
- Con placas de 3,3 V alimenta el joystick con 3,3 V, no con 5 V.
- No fuerces la palanca contra los topes: los potenciómetros se desgastan.
Fuentes consultadas: Joy-IT: módulo joystick KY-023 · ShillehTek: manual del joystick KY-023. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.