
Tutorial Arduino: joystick + zumbador
1. Objetivo de la práctica
Vamos a conectar un módulo joystick y un módulo zumbador a Arduino para que:
- al mover el joystick, el zumbador suene;
- según hacia dónde movamos el joystick, el sonido sea más agudo o más grave.
Es como si el joystick fuera un volante musical: según lo mueves, cambia la “nota” del sonido.

2. Material necesario
- 1 placa Arduino UNO
- 1 módulo joystick de 5 pines
- 1 módulo zumbador
- cables Dupont
- cable USB para conectar Arduino al ordenador
- IDE de Arduino instalado
Importante sobre el zumbador
Para que cambie el tono del sonido, lo ideal es que el zumbador sea pasivo.
- Zumbador pasivo: permite sonidos agudos y graves.
- Zumbador activo: solo suele hacer un pitido fijo.
Si al probarlo siempre suena igual, aunque muevas el joystick, seguramente tu zumbador es activo.
3. Conociendo los módulos
Joystick (5 conexiones)
Normalmente tiene estos pines:
- GND → tierra
- +5V → alimentación
- VRx → movimiento horizontal
- VRy → movimiento vertical
- SW → pulsador del joystick
En esta práctica usaremos sobre todo VRx y VRy.
Zumbador (3 pines)
Muchos módulos de zumbador tienen:
- S → señal
- + → 5V
- – → GND
4. Diagrama de conexiones
Conexiones del joystick al Arduino
- GND → GND de Arduino
- +5V → 5V de Arduino
- VRx → A0
- VRy → A1
- SW → no hace falta conectarlo en esta práctica
Conexiones del zumbador al Arduino
- S → pin 8
- + → 5V
- – → GND
5. Esquema rápido de conexión
JOYSTICK ARDUINO
------------------- --------
GND --------------------> GND
+5V --------------------> 5V
VRx --------------------> A0
VRy --------------------> A1
SW --------------------> (sin conectar)
ZUMBADOR ARDUINO
------------------- --------
S --------------------> 8
+ --------------------> 5V
- --------------------> GND
6. Cómo funciona el programa
El joystick manda valores a Arduino:
- en reposo suele estar cerca de 512
- si lo movemos a un lado, el valor baja
- si lo movemos al otro lado, el valor sube
Arduino leerá esos valores y los transformará en una frecuencia para el zumbador:
- frecuencia baja = sonido grave
- frecuencia alta = sonido agudo
7. Código para el IDE de Arduino
// Tutorial: Joystick + zumbador
// IES Monterroso - 4º ESO
const int pinVRx = A0; // Eje horizontal del joystick
const int pinVRy = A1; // Eje vertical del joystick
const int pinBuzzer = 8; // Pin de señal del zumbador
int valorX = 0;
int valorY = 0;
int frecuencia = 0;
void setup() {
Serial.begin(9600);
pinMode(pinBuzzer, OUTPUT);
}
void loop() {
// Leer valores del joystick
valorX = analogRead(pinVRx);
valorY = analogRead(pinVRy);
// Convertimos el valor X en una frecuencia entre 200 y 2000 Hz
frecuencia = map(valorX, 0, 1023, 200, 2000);
// Si el joystick está cerca del centro, no suena
if (valorX > 470 && valorX < 550 && valorY > 470 && valorY < 550) {
noTone(pinBuzzer);
}
else {
tone(pinBuzzer, frecuencia);
}
// Mostrar valores en el monitor serie
Serial.print("X: ");
Serial.print(valorX);
Serial.print(" | Y: ");
Serial.print(valorY);
Serial.print(" | Frecuencia: ");
Serial.println(frecuencia);
delay(50);
}
8. Explicación paso a paso del código
Paso 1. Definimos los pines
const int pinVRx = A0;
const int pinVRy = A1;
const int pinBuzzer = 8;
Aquí le decimos a Arduino dónde está conectado cada módulo.
Paso 2. Leemos el joystick
valorX = analogRead(pinVRx);
valorY = analogRead(pinVRy);
Arduino lee la posición del joystick.
Paso 3. Transformamos el movimiento en sonido
frecuencia = map(valorX, 0, 1023, 200, 2000);
Convertimos el valor leído en una frecuencia de sonido.
Paso 4. Si está en el centro, no suena
if (valorX > 470 && valorX < 550 && valorY > 470 && valorY < 550) {
noTone(pinBuzzer);
}
Cuando no lo movemos, el zumbador se calla.
Paso 5. Si se mueve, suena
else {
tone(pinBuzzer, frecuencia);
}
Al moverlo, suena con una nota más grave o más aguda.
9. Montaje paso a paso para el alumnado
Paso 1
Conecta el joystick al Arduino:
- GND a GND
- +5V a 5V
- VRx a A0
- VRy a A1
Paso 2
Conecta el zumbador al Arduino:
- S a pin 8
- a 5V
- a GND
Paso 3
Abre el IDE de Arduino.
Paso 4
Copia el código.
Paso 5
Selecciona:
- Placa: Arduino UNO
- Puerto correspondiente
Paso 6
Pulsa Subir.
Paso 7
Mueve el joystick y escucha cómo cambia el sonido.
10. Qué debe ocurrir
- Joystick en el centro → no suena
- Joystick hacia un lado → sonido grave
- Joystick hacia el otro lado → sonido agudo
11. Posibles errores y solución
El zumbador no suena
Revisa:
- que el pin S esté en el 8
- que tenga bien puestos 5V y GND
- que el cableado no esté flojo
Suena siempre igual
Seguramente el zumbador es activo.
Para esta práctica es mejor un zumbador pasivo.
El joystick no cambia nada
Revisa:
- VRx en A0
- VRy en A1
- alimentación en 5V y GND
Suena incluso sin mover el joystick
Es normal que el centro no sea exactamente 512.
Se puede ampliar la zona central cambiando esto:
if (valorX > 470 && valorX < 550 && valorY > 470 && valorY < 550)
Por ejemplo:
if (valorX > 450 && valorX < 570 && valorY > 450 && valorY < 570)
12. Pequeña ampliación opcional
Si quieres que el eje vertical también influya, puedes usar X para el tono y Y para el volumen aparente o ritmo.
Por ejemplo: mover a izquierda/derecha cambia la nota, y arriba/abajo hace que el pitido sea más rápido o más lento.
13. Conclusión para clase
Con esta práctica el alumnado aprende:
- a conectar módulos de entrada y salida;
- a leer valores analógicos;
- a usar
analogRead(); - a transformar datos con
map(); - a generar sonidos con
tone().
Realizado por ADA y José Luis en ChatGPT a partir de este prompt
Eres la mejor profesora de tecnología e informática del mundo. Quiero un tutorial para Arduino de un módulo de zumbador y un modulo de joystick, que viene en un kit de 37 dispositivos para arduino. El tutorial debe incluir 1. material necesario , 2. diagrama de conexiones y 3. código para el IDE de Arduino. Debe ser fácil de entender , conciso y tiene que ir paso a paso y que sea posible realizar por el alumnado 4º ESO del IES Monterroso. Necesitamos que utilice estos dos modulos con los cables y el código para que al mover el joystick el zumbador suene y depende de a donde e mueva el joystick suene mas agudo o grave. El joystick tiene 5 conexiones y el zumbador 3.2.
