Ir al contenido

2.12 Módulo de Joystick Analógico UNO

Los joysticks analógicos son una excelente manera de sumar control a tus proyectos. En este tutorial vamos a aprender cómo usar el módulo de joystick analógico. Resumen El módulo tiene 5 pines: VCC, Ground, X, Y, Key. Tené en cuenta que las…

Los joysticks analógicos son una excelente manera de sumar control a tus proyectos. En este tutorial vamos a aprender cómo usar el módulo de joystick analógico.

Resumen

El módulo tiene 5 pines: VCC, Ground, X, Y, Key. Tené en cuenta que las etiquetas en el tuyo pueden ser un poco distintas, dependiendo de dónde hayas sacado el módulo. La palanca (thumb stick) es analógica y debería dar lecturas más precisas que los joysticks "direccionales" simples que usan botones o interruptores mecánicos. Además, podés presionar el joystick hacia abajo (en el mío es medio duro) para activar un pulsador de "presionar para seleccionar".

Tenemos que usar pines analógicos de Arduino para leer los datos de los pines X/Y, y un pin digital para leer el botón. El pin Key se conecta a tierra cuando el joystick se presiona, y queda flotante de otra manera. Para tener lecturas estables del pin Key/Select, hay que conectarlo a VCC a través de una resistencia pull-up. Se pueden usar las resistencias integradas en los pines digitales de Arduino. Fijate en el tutorial sobre cómo activar las resistencias pull-up para pines de Arduino configurados como entradas; por ejemplo: pinMode(SW_pin, INPUT);

Componentes Requeridos

(1) x Elegoo UNO R3

(1) x Módulo de joystick

(5) x Cables H-M (Cables DuPont Hembra a Macho)

Código

Podés hacer clic en el enlace de texto azul para descargar el archivo del programa a tu dispositivo, y hacer doble clic para abrirlo una vez que termine la descarga. Nota: Antes de abrir el archivo, asegurate de tener instalado el entorno de desarrollo Arduino IDE y de haber completado la instalación de los componentes pertinentes, como el paquete de soporte de la placa y el driver correspondiente a la placa de desarrollo UNO. Si tenés alguna duda sobre este proceso, podés consultar el capítulo "parte 1" del documento para una guía detallada.

📥 DESCARGAR analog_joystick.ino

Con este código, la placa UNO va a leer los datos de un módulo de joystick (incluyendo el estado del interruptor y las posiciones de los ejes X/Y) y va a mostrar los resultados en el monitor serie del software Arduino una vez que el código esté compilado y subido. Hacé clic en el botón Monitor Serie para encenderlo. Lo básico sobre el monitor serie se explica en detalle en el tutorial 4 de la parte 2.

Análisis del Código

En la configuración de pines, const int SW_pin = 2 define el pin digital D2 conectado a la salida del interruptor; const int X_pin = 0 define el pin analógico A0 para el eje X; y const int Y_pin = 1 el pin analógico A1 para el eje Y. Usar const int asegura que estos valores sean fijos y consuman el mínimo de memoria.

La función setup() inicializa el sistema: configura el pin del interruptor como entrada, habilita la resistencia pull-up interna mediante digitalWrite(SW_pin, HIGH) e inicia la comunicación serie a 9600 baudios para hablar con la computadora.

La función loop() es el bucle principal que lee y muestra los datos continuamente. digitalRead(SW_pin) obtiene el estado del interruptor (0 para presionado, 1 para suelto), mientras que analogRead lee los valores de los potenciómetros (0-4095 para UNO). Los valores se imprimen en el monitor serie con una pausa de 1000 milisegundos (1 segundo) entre lecturas.

Entrada Digital con Resistencia Pull-up

El pin del interruptor se configura en modo INPUT con la resistencia pull-up interna habilitada. Esto significa que cuando el interruptor no está presionado, el pin lee HIGH (1), y cuando se presiona, lee LOW (0). Esta configuración simplifica el cableado al eliminar la necesidad de usar resistencias pull-up externas.

DigitalWrite vs AnalogWrite

Estas son dos funciones de E/S fundamentales en Arduino. La función digitalWrite() se usa para poner un pin digital en HIGH (5V en UNO) o LOW (0V). Su sintaxis es digitalWrite(pin, valor) y se usa comúnmente para controlar LEDs, relés u otros dispositivos digitales. En este código, se utiliza específicamente para habilitar la resistencia pull-up interna del interruptor.

Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.

Fuente: Adaptado al español desde el wiki oficial (licencia CC BY-SA). Revisión técnica por equipo Breva.
25%
Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario