Conecta un joystick analógico a Arduino en 3 simples pasos

Conecta un joystick analógico a Arduino en 3 simples pasos

- 2 mins

En este breve post, te compartiré cómo conectar un joystick analógico a tu placa Arduino UNO en tres simples pasos. Para esto, necesitaremos:

1. Sobre el joystick

El joystick analógico es similar a dos potenciómetros conectados entre sí, uno para el movimiento vertical (eje Y) y otro para el movimiento horizontal (eje X); también tiene un switch de selección.

Joystick analógico para Arduino

El Arduino UNO o cualquier otra placa Arduino que use ATmega328 como microcontrolador tiene una resolución ADC de 10 bits. Por lo tanto, los valores en cada canal analógico pueden variar de 0 a 1023. Al conectar el VRx a A0 y VRy a A1, las entradas analógicas deben mostrar los valores como se muestra en la siguiente imagen.

Diagrama de movimiento para un joystick analógico

La posición inicial para el joystick es en (x, y) = (511, 511). Si el stick se mueve en el eje X de un extremo al otro, los valores de X cambiarán de 0 a 1023 y sucederá algo similar cuando se mueva a lo largo del eje Y. De esta forma, se puede generar cualquier combinación de valores entre 0 y 1023 para cada coordenada.

2. Conectando el circuito

Ahora, sólo necesitaremos conectar el circuito como se muestra el siguiente diagrama:

Diagrama de conexión para un joystick analógico

Nota que las conexiones son como sigue a continuación:

Arduino Joystick
GND ➡️ GND
5V ➡️ +5V
A0 ➡️ VRx
A1 ➡️ VRy
2 ➡️ SW

3. Verifica y sube el código a tu Arduino

Una vez conectado el circuito, podemos compilar el código utilizando nuestro IDE de Arduino.

El código es el siguiente:

Asegúrate de conectar tu Arduino y escoger el puerto correcto, con esto, puedes verificar que el código compile correctamente y posterior a ello subirlo a tu Arduino…

¡Listo!

Con esto podrás abrir la consola y verificar que se imprimen las posiciones (xPosition, yPosition) después de ser mapeadas a (0, 255).

¿Notaste que no utilizamos el botón de switch? Como reto, ¿podrías definirlo en su respectivo puerto e imprimir su valor?

¡Cualquier cosa, te leo en los comentarios! 🤙🏼

Rodolfo Ferro

Rodolfo Ferro

With great power comes great responsibility.

comments powered by Disqus
rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora