Ir al contenido

2.12 Joystick

Los joysticks analógicos son una forma bárbara de sumar control a tus proyectos. En este tutorial vamos a aprender cómo usar el módulo de joystick analógico con tu placa ESP32. Descripción general El módulo tiene 5 pines: VCC, Ground, X, Y …

Los joysticks analógicos son una forma bárbara de sumar control a tus proyectos. En este tutorial vamos a aprender cómo usar el módulo de joystick analógico con tu placa ESP32.

Descripción general

El módulo tiene 5 pines: VCC, Ground, X, Y y Key. Tené en cuenta que las etiquetas en el tuyo pueden ser un poco distintas según el fabricante. El stick es analógico y te va a dar lecturas mucho más precisas que los joysticks direccionales simples que usan botones o interruptores mecánicos. Además, podés presionar el joystick hacia abajo para activar un pulsador de selección.

Componentes requeridos

(1) x Elegoo ESP32
(1) x Módulo Joystick
(2) x Protoboard de 400 puntos
(5) x Cables DuPont Hembra-Macho

Introducción al componente

Tenemos que usar pines analógicos de la placa para leer los datos de los ejes X e Y, y un pin digital para el botón. El pin Key se conecta a tierra cuando presionás el joystick y queda "flotando" cuando no lo hacés. Para obtener lecturas estables, usamos las resistencias pull-up integradas en los pines digitales, configurándolos como entradas.

Esquema de conexión y cableado

Necesitamos 5 conexiones para el joystick: Key, Y, X, Voltaje y Tierra. Los ejes Y y X son señales analógicas, mientras que Key es digital. Si no necesitás usar el interruptor, podés conectar solamente 4 pines.

Código

Podés hacer clic en el enlace para descargar el programa a tu equipo. Antes de abrirlo, asegurate de tener instalado el Arduino IDE y los controladores correspondientes para la placa ESP32. Si tenés dudas sobre este proceso, fijate en el capítulo "Parte 1" de la documentación.

📥 DESCARGAR analog_joystick.ino

Con este código, el ESP32 leerá el estado del switch y la posición de los ejes, mostrando los resultados en el monitor serie. No te olvides de configurar la velocidad a 9600 baudios para ver los datos correctamente.

Configuración de pines y funciones

En el código, definimos los pines 34 y 35 para las entradas analógicas de los ejes y el pin 18 para el switch digital. Usar constantes ayuda a que el programa ocupe menos memoria y sea más claro.

La función setup() inicializa el sistema, configura el pin del switch como entrada y activa la resistencia pull-up interna. También inicia la comunicación serie. Por otro lado, la función loop() se encarga de leer continuamente los valores: digitalRead() nos dice si el botón está presionado (0) o suelto (1), mientras que analogRead() nos da la posición de los potenciómetros (un valor entre 0 y 4095 para el ESP32).

Entrada digital con pull-up

Al configurar el pin con la resistencia pull-up interna, simplificamos el cableado porque no necesitás agregar resistencias externas. Cuando el switch no está presionado, el pin lee un estado ALTO (1), y cuando lo apretás, cambia a un estado BAJO (0).

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