Kit de Batería MIDI Compacto con Impresión 3D y Arduino
Componentes y suministros
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Pantalla LCD 16x2 blanco sobre azul (Adafruit Standard) | 1 |
| Piezoeléctrico (SparkFun) | 1 |
| Resistencia sensible a la fuerza FSR (Adafruit) | 1 |
| Resistencia 10k ohm | 1 |
| Resistencia 1M ohm | 1 |
| Diodo Zener 5.1V 1W (SparkFun) | 1 |
| Pulsador 12mm (SparkFun) | 1 |
| Interruptor deslizante | 1 |
| Conector TRS (jack 6.35mm estéreo) | 1 |
| Cable USB-A a USB-B | 1 |
| Adaptador Lightning a USB Camera (Apple) | 1 |
Herramientas necesarias
- Impresora 3D (genérica)
- Cortadora láser (genérica) — opcional, extra
- Soldador (genérico)
- Llave Allen
- Cúter
- Cortador circular
- Cortatubos
- Taladro + brocas 9 mm / 10 mm
Aplicaciones y servicios online
- Arduino IDE
Sobre este proyecto
Este es un kit de batería MIDI minimalista usando Arduino UNO. Me cautivó la simplicidad del piezo y la batería electrónica, y la gran invención llamada MIDI. No me conformé con solo hacer pads; quería un kit completo.
El kit se divide en dos partes principales:
- Pads fabricados con impresora 3D y papel grueso (1 mm).
- Conversor trigger-a-MIDI con Arduino UNO.
La señal del pad (1) es procesada por el Arduino (2) y convertida a señal MIDI, que se transmite a iPhone, portátil, etc., generando el sonido. No necesitas fuente de alimentación externa: el smartphone o PC la proveen por USB.
Qué necesitas
Herramientas
- Impresora 3D
- Cortadora láser (extra)
- Llave Allen, cúter, cortador circular, soldador, cortatubos, taladro, brocas 9/10 mm
Materiales
- Papel de 1 mm de grosor
- Filamento PLA
- Gomaespuma 5 mm / 10 mm
- MDF 2.5 mm / 5.5 mm (extra)
- Tornillos y tuercas: M6×70 mm, M6×50 mm, M3×10 mm, M3×15 mm, M3×25 mm, M2
- Tubo acero inoxidable Ø13 mm
Hardware de batería
- Parche de malla (mesh head) 10" / 8"
- Soporte de caja (snare stand) — ej. Yamaha SS662
- Soporte de hi-hat — ej. Yamaha HS650A
- Pedal de bombo — ej. Yamaha FP7210A
- Baquillas
Paso 1: Impresión 3D
Todos los archivos STL están en Thingiverse y GitHub. Usa la versión 2 para los aros (rims). Imprime con relleno 20% y altura de capa 0.3 mm. También puedes usar cortadora láser para los pads (archivos vectoriales en GitHub).
Paso 2: Montaje de la estructura
- Une las piezas con tornillos M3×10 mm.
- Para la parte central, usa M3×15 mm o M3×25 mm para fijar la base.
Paso 3: Fabricación del shell (cuerpo del pad)
- Altura del shell: 55 mm. Corta tres tiras de papel de 55 mm de ancho.
- Longitud: ligeramente superior al perímetro del pad.
- Inserta una tira en la ranura inferior, ajusta a círculo perfecto y corta.
- Repite 3 veces, superponiendo con adhesivo.
- Seca, fija el parche de malla, taladra agujero Ø9 mm para el conector TRS.
- Usa tuercas mariposa o las llaves de afinación impresas (funcionan con tuercas normales).
- Fija el parche con tornillos M6×70 mm.
- Retira el parche para colocar el piezo.
Paso 4: Colocación del piezo
El piezo es delicado. No lo dobles ni golpees.
CAJA (SNARE) — 2 piezos
- Cable rojo de cada piezo → tip y ring del conector TRS.
- Ambos cables negros → sleeve (masa).
- Pasa los cables por los agujeros de la placa sensor antes de soldar.
- Piezo del parche (conectado a tip): sándwich con gomaespuma 10 mm (1 abajo, 3 arriba en forma cónica). Coloca sobre la placa sensor.
BOMBO (KICK) — 1 piezo
- Solo tip usado. No necesita placa sensor.
- Dos gomaespumas bajo el piezo.
- Coloca el sensor descentrado del centro (para que el batidor no golpee directo al piezo; así Arduino detecta fuerza del golpe).
HI-HAT — 1 piezo
- Circuito igual que bombo.
- Gomaespuma 10 mm bajo el piezo.
Paso 5: Pad de caja 10"
- Fija el sensor del aro (rim).
- Asegura la placa sensor firmemente; la punta del cono debe verse 2-3 mm desde el lateral.
- Mismo procedimiento si usas pad 8" como caja.
Paso 6: Pad de bombo 8"
- Corta tubo acero inoxidable Ø13 mm: dos de 200 mm y dos de 365 mm (longitud ajustable, pequeño error aceptable).
- Monta según fotos; las piezas tienen huecos para tuercas M3.
- Fija tubo con tornillos M3×15 mm.
Paso 7: Hi-Hat 12"
- Corta papel grueso en círculos Ø300 mm (3 unidades).
- Haz una muesca desde el centro.
- Segunda muesca a 10 mm en paralelo de la primera → tres "Pac-Man" con boca pequeña.
- Cierra la boca de cada Pac-Man con cinta formando forma de plato.
- Pega y superpone los tres, extendiendo adhesivo fino y uniforme. Presiona y pon peso encima hasta secar.
- Silenciamiento: gomaespuma 5 mm, taladra agujero (no importa si no queda perfecto, se oculta).
- Fija soporte del sensor y guía de cables con cinta doble cara (o pistola de pegamento).
Paso 8: Controlador de Hi-Hat
Envía apertura/cierre del hi-hat al Arduino. Circuito simple: FSR en base, conector, gomaespuma 10 mm sobre FSR, tapa con tornillos M3×10 mm.
¿Por qué FSR si solo detecta HIGH/LOW? Para compatibilidad con módulos de sonido Roland/Yamaha y software como EZ DRUMMER 2, que tienen varios grados de apertura. Con FSR se podría ampliar modificando el código (no probado).
Paso 9: USB-MIDI (Arduino como dispositivo MIDI nativo)
Con solo cable USB, Arduino envía MIDI: es reconocido por iPhone/PC como dispositivo MIDI sin hardware extra.
- Consulta: MocoLUFA y GitHub.
- Arduino UNO normal conectado a iPhone da error "no compatible".
- Debes reflashar el chip USB (ATmega16U2) del UNO: guía oficial.
- En el comando final, reemplaza
Arduino-usbserial-uno.hexpordualMoco.hex:sudo dfu-programmer atmega16u2 flash dualMoco.hex - Tras reflashar, Arduino es reconocido como dispositivo MIDI.
- Puenteando los pines como en la foto → modo Arduino normal (para programar). Sin puente → modo MIDI.
Paso 10: Conversor Trigger-a-MIDI (Shield)
- Arduino UNO + shield en caja impresa 3D (o tapa cortada láser).
- Diodos de protección (el UNO tiene protección interna; pueden ser opcionales).
- Imprime primero la caja y tapa, luego fabrica el shield a medida.
Paso 11: Tocar con GarageBand
Solo abre GarageBand y conecta. Sin configuraciones complejas. Otros DAWs compatibles: Hydrogen (gratis, permite añadir sonidos).
Paso 12: Ajustes (Settings) vía botones y LCD
Para evitar recompilar al cambiar parámetros, se hizo un menú en el LCD:
- Botones INC/DEC: seleccionan instrumento.
- NEXT/BACK: seleccionan parámetro.
- EDIT: entra en edición; INC/DEC cambian valor; EDIT confirma.
Parámetros:
- THRESHOLD: valor mínimo para disparar sonido.
- SENSITIVITY: sensibilidad; bajarla da alta velocity con golpes suaves.
- NOTE: número de nota MIDI; cambia el instrumento.
- FLAG: umbral fin de golpe (1-10). Alto = doble disparo; bajo = pérdida en golpes rápidos.
- SCAN TIME: ms de muestreo tras superar threshold para hallar pico. No tocar.
- HEAD/RIM: facilidad de sonar aro. Subir = más difícil; bajar demasiado = aro suena al golpear parche. Puede necesitar mejora en código.
- PEDAL VELO: velocity fija del pedal (inicial 100). Ajusta a gusto.
- MASK TIME: relacionado con FLAG. No tocar; subir puede perder golpes rápidos.
Paso 13: Archivos Fusion 360
Algunas piezas requieren cambios dimensionales. STL es difícil de editar; subí los archivos Fusion 360 originales (GitHub). Como fui iterando, no dependas mucho del historial de operaciones.
Extra
- Pasos extra en Instructables: Arduino Minimal Drum Kit
- Proceso detallado en blog del autor.
¡Pregunta lo que quieras y diviértete!
Código
Hello Drum v2 (Arduino)
Modificado 05/12/2019 por George Brotherston. Incluye librerías MIDI.h (v4.3.1) y LiquidCrystal.h (v1.0.7). El código gestiona:
- Modo edición vía LCD y 5 botones (SET, UP, DOWN, NEXT, BACK).
- Lectura de 4 piezos (A0-A3) y 1 FSR (A4).
- Detección de pico, mapeo a velocity 0-127 con curva cuadrática.
- Discriminación head/rim en caja.
- Hi-hat abierto/cerrado según estado del pedal (FSR).
- Envío MIDI Note On/Off por canal 1.
/* Drum MIDI Controller
Created: 28/06/2017 by Ryo Kosaka as "HELLO DRUM" Ver.1.0
Modified: 05/12/2019 by George Brotherston */
#include
#include
// ... (código completo en el original; ver sección Code del proyecto)
Esquemático
Circuito del shield en Fritzing: circuit_nZotR7rJMM.fzz
Proceso de manufactura
- El Tambor: Guía Completa de Historia, Construcción y Artesanía
- Pantalla LED Interactiva con Giroscopio, Anillo NeoPixel y Arduino
- Disfraz de nube DIY: Tira LED, Arduino Nano y componentes SparkFun
- Unopad: Controlador MIDI Arduino para Ableton Live sin complicaciones
- Sensor de obstáculos IR casero con Arduino – Tutorial fácil con LED IR y fotodiodo
- Dominando reconocimiento y síntesis de voz en Arduino Due
- S-Meter Externo para Radios Icom usando CI-V y Arduino
- Cirujanos de Shanghái imprimen implantes óseos de titanio personalizados para paciente con cáncer
- Conectar GrabCAD Print a su impresora 3D Stratasys – Guía paso a paso
- Más Allá de los Prototipos: Innovaciones Reales Logradas con Impresión 3D
- MAXREFDES220# – Monitor de presión arterial sin manguito con sensores ópticos