Tever
ES

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.

Arduino UNO conectado por USB a un portátil; sensor ultrasónico HC-SR04 con la mano encima controlándolo; en pantalla, editor de código con forma de onda y notas musicales

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

NivelHardwareTécnicaSalida
1Zumbador piezoeléctricotone() + delay()Melodía monofónica
2Sensor (potenciómetro, ultrasonidos, LDR)analogRead() + mapeoControl en tiempo real
3Sin altavoz (USB o serial)Protocolo MIDISintetizador 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.