====== 馃幑 Duplicador / Splitter MIDI con Arduino Clon chip serial CH340 馃浉 ====== Documentaci贸n del proceso para rutear una misma se帽al MIDI (proveniente de un teclado controlador o secuenciador) hacia dos m贸dulos de sonido de hardware distintos de forma simult谩nea. Esta configuraci贸n permite disparar las mismas notas o patrones, pero editando y aplicando efectos de manera separada en cada m贸dulo de sonido. Es un recurso excelente para optimizar procesos creativos, trabajar en simult谩neo y generar situaciones sonoras de mayor densidad y complejidad. ===== Componentes del Hardware ===== * **Arduino Uno (Versi贸n Alternativa):** Placa clonada que utiliza el chip de comunicaci贸n serial CH340 en lugar del Atmega16U2 original. * **MIDI Shield:** Placa de expansi贸n con puertos IN, OUT, THRU y optoacoplador. * Teclado controlador MIDI. * 2x M贸dulos de sonido (sintetizadores, samplers o procesadores de efectos). * Fuente de alimentaci贸n externa (conector de barril DC) para uso aut贸nomo. ===== Experiencia con Placas Clonadas y Driver CH340 ===== Una de las grandes ventajas de este montaje es que **no requiere un Arduino original**. Se prob贸 y document贸 el uso de una placa alternativa econ贸mica, demostrando ser 100% funcional, estable y con un rendimiento id茅ntico en t茅rminos de latencia. (Ojal谩 no se queme). ==== Identificaci贸n e Instalaci贸n ==== Al conectar el Arduino alternativo por primera vez, el sistema operativo no lo reconocer谩 autom谩ticamente si no se cuenta con el puente de comunicaci贸n adecuado. - **El Chip:** Visualmente se identifica por ser un integrado rectangular peque帽o cerca del puerto USB, marcado con la serigraf铆a **CH340** (o CH340G). - **La B煤squeda del Driver:** Es necesario buscar en la web el instalador oficial del fabricante (WCH) como ''"CH340 Arduino Driver"'' para el sistema operativo correspondiente (Windows/macOS/Linux). - **Instalaci贸n:** El proceso de instalaci贸n es sumamente r谩pido. Una vez ejecutado el instalador y reiniciado el IDE de Arduino, el puerto COM se habilita inmediatamente y la placa queda lista para recibir el c贸digo. Esta alternativa reduce significativamente los costos del circuito y facilita el acceso a herramientas de optimizaci贸n de procesos musicales para cualquier usuario, sin sacrificar la inmediatez de la respuesta MIDI. ===== Diagrama de Ruteo y Conexiones ===== El sistema funciona combinando una duplicaci贸n por hardware y otra por software, logrando una latencia m铆nima y sincronizada: - **MIDI IN:** Recibe la se帽al original desde el teclado controlador. - **MIDI THRU (Hardware):** Env铆a una copia el茅ctrica exacta e instant谩nea de la se帽al de entrada hacia el **M贸dulo de Sonido 1**. - **MIDI OUT (Software):** Env铆a la se帽al procesada por el microcontrolador (Soft Thru) hacia el **M贸dulo de Sonido 2**. {{:midi_duplicador_2.jpeg?200|Montaje del Arduino alternativo energizado de forma aut贸noma con los cables MIDI conectados}} {{:midi_duplicador_3.jpeg?200|Detalle de la conexi贸n al Jack DC de la placa clonada y el encendido de los LEDs indicadores}} {{:midi_duplicador_4.jpeg?200|Montaje del Arduino alternativo energizado de forma aut贸noma con los cables MIDI conectados 2}} ===== C贸digo (Soft Thru) ===== Para habilitar el puerto OUT como un espejo del puerto IN, se utiliza la funci贸n ''Soft Thru'' nativa de la librer铆a MIDI de Arduino. #include // Crea una instancia de la librer铆a en el puerto Serial est谩ndar MIDI_CREATE_DEFAULT_INSTANCE(); void setup() { // Inicia la escucha en todos los canales MIDI. // La funci贸n "Soft Thru" se activa autom谩ticamente por defecto. MIDI.begin(MIDI_CHANNEL_OMNI); } void loop() { // Lee la entrada. Al hacerlo, la librer铆a reenv铆a // autom谩ticamente los mensajes al puerto OUT. MIDI.read(); } ===== Notas T茅cnicas y Flujo de Trabajo ===== * **Interruptor RX/TX (ON/OFF):** Es el paso m谩s cr铆tico del montaje. Para compilar y subir el c贸digo desde el IDE de Arduino, el interruptor del shield debe estar obligatoriamente en **OFF** (para no generar colisiones de datos con el puerto USB y el chip CH340). Una vez cargado el programa, se debe pasar a **ON** para habilitar el flujo de datos MIDI por los puertos DIN. * **Autonom铆a y Alimentaci贸n:** Tras subir el c贸digo, el sistema no requiere conexi贸n al computador. Se puede energizar directamente en el set de directo con un adaptador de 9V/12V (centro positivo) conectado al jack del Arduino. * **Prevenci贸n de Bucles de Masa (Ground Loops):** El puerto MIDI IN de este shield cuenta con un optoacoplador integrado. Esto a铆sla el茅ctricamente el teclado controlador de los m贸dulos de sonido, evitando que ruidos par谩sitos de corriente o interferencias el茅ctricas viajen a trav茅s de los cables MIDI y se metan en la cadena de audio. * **Diagn贸stico Visual (LEDs):** Durante una sesi贸n o prueba de sonido, si algo falla, observa la placa base del Arduino. Cada vez que toques una tecla en el controlador, los LEDs **RX** (recepci贸n) y **TX** (transmisi贸n) deber铆an parpadear. Si el RX parpadea pero el TX no, significa que la se帽al entra pero el c贸digo no la est谩 ruteando al OUT. * **Gesti贸n de Canales MIDI (OMNI):** El c贸digo actual est谩 configurado en ''MIDI_CHANNEL_OMNI'', lo que significa que el puerto OUT repetir谩 los mensajes de los 16 canales MIDI por igual. El puerto THRU, al ser un clon por hardware, tambi茅n enviar谩 todo. * **Potencial de Expansi贸n:** Aunque ahora funciona como un simple "espejo", al estar pasando la se帽al del puerto OUT por el microcontrolador, el c贸digo se puede modificar en el futuro. Por ejemplo, se podr铆a programar el Arduino para que transponga octavas, filtre ciertos mensajes (como el *Clock* o notas espec铆ficas), o genere secuencias algor铆tmicas que se sumen a lo que tocas en vivo. (Nota: Estas modificaciones por software solo afectar谩n a la salida OUT, la salida THRU siempre ser谩 una copia inalterable del IN).