Construye un Módulo Joystick Arduino: Guía Paso a Paso
¿Estás manejando actualmente proyectos relacionados con movimiento y robótica? Entonces, es probable que hayas oído hablar del módulo joystick Arduino, pero no sepas cómo hacer uno.
O tal vez quieras obtener más información sobre cómo funciona un módulo joystick Arduino.
Entonces, estás en el lugar correcto.
El objetivo de un joystick Arduino es comunicar movimiento a un Arduino. Y lo hace en 2-D (2 ejes), lo que lo hace adecuado para aplicaciones de movimiento y robótica.
Así que, en este artículo, aprenderás todo sobre el módulo joystick Arduino, cómo funciona y cómo hacer un circuito fácil de joystick Arduino.
¿Estás listo? ¡Vamos a sumergirnos!
¿Qué es un Módulo Joystick?
Casi no hay proyecto robótico que no requiera un joystick. A veces es difícil conseguir un controlador que funcione para tus proyectos, e incluso puede ser costoso. Pero un módulo joystick proporciona una forma más asequible de lograr el mismo resultado.
Además, el módulo joystick funciona de manera similar a los joysticks que se encuentran en los gamepads analógicos. Sus componentes clave son dos potenciómetros inclinados en ángulos de 90 grados. Además, hay una conexión entre una palanca corta (con resortes en el centro) y los potenciómetros.
El módulo joystick puede emitir alrededor de 2.5V desde los ejes X e Y cuando está en reposo. Ahora, cuando mueves el joystick, la salida variará de 0V a 5V. Sin embargo, esto depende de la dirección.
Además, si usas un microcontrolador con el módulo joystick, el valor real en la posición de reposo sería alrededor de 512. Así, cuando mueves este joystick, puedes ver los valores cambiar de 0 a 1023, pero esto depende de su posición.
Configuración de Pines
Aquí está la configuración de pines para el módulo joystick:
| Nº Pin | Nombre del Pin | Descripción |
|---|---|---|
| 1 | GND | Terminal de tierra del módulo |
| 2 | +5V | Terminal de alimentación positiva del módulo |
| 3 | VRx | Voltaje proporcional al eje X |
| 4 | VRy | Voltaje proporcional al eje Y |
| 5 | SW | Interruptor del módulo |
Características
Aquí están las características clave del módulo joystick Arduino:
- Tiene dos potenciómetros independientes para cada eje (X e Y)
- No tiene mucho peso
- Puedes conectar fácilmente el módulo con la mayoría de microcontroladores o Arduino
- Regresa automáticamente a la posición central cuando no está en uso
- También tiene una perilla tipo copa
Especificaciones Técnicas
Las especificaciones del módulo joystick incluyen:
- Tiene un voltaje de operación de 5V
- El valor del potenciómetro interno es 10k
- Su temperatura de operación es de aproximadamente 0 a 70 grados Celsius
- Los terminales de la interfaz de pines son de 2.54mm
- Las dimensiones del módulo joystick son: 1.57 pulg x 1.02 pulg x 1.26 pulg (4.0 cm x 2.6 cm x 3.2 cm)
- Tiene cinco pines
- Dos potenciómetros controlan las direcciones horizontales y verticales del módulo.
Diagrama Esquemático
La imagen de abajo muestra los esquemas completos del módulo joystick. Como mencionamos anteriormente, el módulo cuenta con dos potenciómetros que controlan los ejes X e Y.
Además, ambos potenciómetros (10k) se mueven independientemente. En otras palabras, puedes moverlos individualmente y en sus direcciones. También hay una conexión interna del pin del interruptor (SW) al pulsador.
Interfaz del Joystick con Arduino
Los módulos joystick son compatibles con muchos microcontroladores como Raspberry Pi, Arduino y otros. Además, es fácil de interconectar, y primero tienes que conectar los pines de los ejes VRx y VRy a los pines ADC del microcontrolador.
También, si planeas usar un interruptor, entonces debes conectar el botón a los pines digitales del microcontrolador.
Consulta el diagrama de abajo para entender cómo conectar el módulo joystick a cualquier microcontrolador.
Ahora, el siguiente diagrama te mostrará cómo interconectar un módulo joystick con un Arduino. Con este diagrama, podrás conectar el módulo al Arduino. También obtendrás una salida dependiendo de la dirección en que muevas la perilla del joystick.
Una vez que hayas terminado la interconexión, descubrirás que cada dirección tiene un rango de salida fijo. La siguiente imagen te mostrará la salida para los ejes X e Y dependiendo del movimiento del módulo joystick en las cuatro direcciones, +X, -X, +Y y –Y. También habrá algunos valores analógicos cuando muevas la perilla diagonalmente.
Si quieres saber cuándo presionas la perilla del joystick hacia abajo, también puedes conectar el pin SW al pin digital 8 del Arduino.
Además, el joystick requiere energía para funcionar correctamente. Así que conecta el pin VCC al terminal 5V del Arduino y el GND al terminal GND del Arduino.
Código Arduino
Es bastante fácil programar este programa en Arduino IDE. Así que, para obtener los mejores resultados, medirás el movimiento del joystick desde un pin de entrada digital y dos entradas analógicas. Luego, el Arduino mostrará el impacto en tu monitor.
Aquí está la mejor parte:
No necesitas una biblioteca para programar este programa. Simplemente lee la entrada analógica y muestra los valores que obtiene de ella. Además, también muestra la salida del pulsador.
Aquí está el boceto básico del código:
#define joyX A0
#define joyY A1
void setup() {
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
xValue = analogRead(joyX);
yValue = analogRead(joyY);
//print the values with to plot or view
Serial.print(xValue);
Serial.print("\t");
Serial.println(yValue);
}
Mapeo
A veces, no se trata solo de leer valores analógicos, y puede haber necesidad de mapear tu módulo a una pantalla u otras interfaces. Así que, para ayudarte con eso, te mostraremos cómo mapear los valores del código anterior a una matriz LED 8x8.
El resultado de este proceso es mover los píxeles en la pantalla con el joystick. Además, es fácil cambiar el código para mapearlo a una pantalla OLED o gráfica.
#include "LedControl.h"
#define joyX A0
#define joyY A1
int xMap, yMap, xValue, yValue;
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
Serial.begin(115200);
lc.shutdown(0, false);
/* Set the brightness to a medium values */
lc.setIntensity(0, 8);
/* and clear the display */
lc.clearDisplay(0);
}
void loop() {
// put your main code here, to run repeatedly:
xValue = analogRead(joyX);
yValue = analogRead(joyY);
xMap = map(xValue, 0, 1023, 0, 7);
yMap = map(yValue, 0, 1023, 7, 0);
lc.setLed(0, xMap, yMap, true);
lc.clearDisplay(0);
}
Nota: el código anterior muestra que puedes usar la función map() para mapear los rangos a tus preferencias.
Así que, si lo haces todo bien, la salida en tu monitor serial debería verse así:
Aplicaciones
Aquí hay algunas aplicaciones del módulo joystick Arduino:
- Puedes usar el módulo joystick en robótica
- También puedes controlar el movimiento de una cámara móvil
- Una amplia variedad de aplicaciones de movimiento
Conclusión
Cuando oyes la palabra joystick, lo primero que puede venir a la mente serían los controladores de juegos. Sin embargo, hay tantas aplicaciones emocionantes del módulo joystick cuando se trata de electrónica DIY.
Además, estos módulos funcionan principalmente para proyectos DIY basados en Arduino y control de robots. Como discutimos anteriormente, el módulo joystick primero emite una salida analógica para alimentar la entrada analógica dependiendo del movimiento horizontal o vertical de la palanca.
Bueno, eso resume este artículo. Si tienes alguna pregunta o sugerencia, no dudes en contactarnos. Siempre estamos felices de ayudar.
Tecnología Industrial
- Crea un Botón de Teclado Personalizado y "Apuñalable" con Arduino: Guía Paso a Paso
- Conectar Arduino Mega a módulo GPS NEO‑6M: Guía paso a paso
- Construye un volante joystick personalizado con Arduino para gaming
- Genera Tonos Musicales con Arduino: Guía Paso a Paso
- Puerta automática con Arduino y sensor ultrasónico HC-SR04
- Construye un Coche Bluetooth Controlado con Arduino Nano: Guía DIY Completa
- Construye un Mini Osciloscopio DIY con Arduino Nano – Tutorial Paso a Paso
- Construye JARVIS v1: Automatización del hogar con Arduino Nano – Tutorial paso a paso
- Kit de proyecto Arduino Due: TFT, GPS, RTC, sensores, Bluetooth y joystick - Lista completa de componentes
- Construye un Robot Controlado por Gestos en Casa con Arduino y MPU-6050
- Construye una Impresora 3D de Gran Formato en Casa con Arduino: Guía Paso a Paso