Tutorial · Laboratorio DIY
Hacer música con Arduino: del zumbador al MIDI
Cómo se hace sonar un Arduino, desde un zumbador con tone() hasta convertir sensores en controladores. Un recorrido práctico por los tres niveles, sin necesidad de hardware caro.
Hacer música con código es satisfactorio, pero hacerla con un cacharro que tienes en la mano lo es más. Arduino es una herramienta que cierra bien esa distancia: una placa barata, un entorno sencillo y la posibilidad de pasar del “hola mundo” a algo que suena en una tarde. Aquí cuento los tres niveles por los que conviene subir, de menos a más.
Nivel 1: sonido directo con tone()
El primer sonido sale de un zumbador piezoeléctrico —un componente de pocos
céntimos— y de una sola función: tone(). Le pasas el pin al que está conectado
el zumbador y una frecuencia en hercios, y la placa genera una onda cuadrada a esa
frecuencia. 440 Hz es el La de referencia; sube el número y sube la nota.
tone(8, 440); // empieza a sonar el La en el pin 8
delay(500); // medio segundo
noTone(8); // silencio
Encadenando frecuencias y silencios con delay() ya tienes una melodía. Es
rudimentario —onda cuadrada, un solo tono a la vez— pero es música de verdad
saliendo de tu código. El primer “tachán” engancha.
Nivel 2: que el mundo físico mande
Un Arduino que solo reproduce una melodía fija es una caja de música. La gracia llega cuando lee sensores y deja que el entorno controle el sonido. Aquí es donde la placa se gana el sitio en el laboratorio.
El caso más simple es un potenciómetro: lo lees con analogRead(), que
devuelve un número, y conviertes ese número en frecuencia. Girar el mando cambia
la nota en tiempo real. A partir de ahí, todo es sustituir el sensor:
- Un sensor de distancia por ultrasonidos convierte el gesto de acercar o alejar la mano en altura: un instrumento de aire sin tocarlo, parecido en idea a un theremín casero.
- Un sensor de luz (una LDR) hace que la sombra module el sonido.
- Un acelerómetro convierte el movimiento de la placa en música.
El patrón es siempre el mismo: leer una magnitud física, mapearla a un parámetro musical, sonar. Esa traducción es, en pequeño, la informática musical puesta en las manos: leer el mundo físico y convertirlo en instrucciones MIDI.
Nivel 3: hablar MIDI
El zumbador tiene techo: una onda fea y una sola voz. El salto de calidad es dejar de generar el sonido en la placa y que Arduino se convierta en controlador: que lea los sensores y, en lugar de hacer ruido, envíe mensajes MIDI a un ordenador, donde un sintetizador decente pone el timbre.
La idea encaja de forma natural con lo que ya vimos de MIDI: el Arduino no manda audio, manda instrucciones —“empieza esta nota, con esta intensidad”—. El sensor decide qué nota; el ordenador decide cómo suena. Separas el gesto del timbre, y de golpe tu cacharro de pocos euros controla cualquier instrumento virtual.
Los tres niveles de un vistazo
| Nivel | Hardware | Técnica | Salida |
|---|---|---|---|
| 1 | Zumbador piezoeléctrico | tone() + delay() | Melodía monofónica |
| 2 | Sensor (potenciómetro, ultrasonidos, LDR) | analogRead() + mapeo | Control en tiempo real |
| 3 | Sin altavoz (USB o serial) | Protocolo MIDI | Sintetizador externo |
Por dónde empezar
No hace falta comprar nada caro para el primer paso: una placa, un zumbador, un cable y el editor oficial bastan para el nivel 1. El nivel 2 pide un sensor barato. El nivel 3 pide, sobre todo, entender bien qué es MIDI antes de implementarlo.
Cada nivel funciona por sí solo. No tienes que llegar al MIDI para disfrutarlo: con un zumbador y veinte líneas ya estás haciendo música con las manos.