Tabla de contenido:

Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano: 7 pasos
Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano: 7 pasos

Video: Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano: 7 pasos

Video: Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano: 7 pasos
Video: Mr.Pinkie PIG midi kontroller. Плата без деталей 170$ полное описание и прошива собираете сами!) 2024, Noviembre
Anonim
Image
Image
Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano
Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano
Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano
Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano

¿Alguna vez quisiste construir tu propio sintetizador basado en viejas melodías de chip de los 80? ¿Reproducir melodías polifónicas simples que suenan exactamente como sonaban estos viejos videojuegos de Sega Master System y Megadrive?

Tengo, entonces, pedí algunos chips SN76489 de ebay y una interfaz de host midi y le di una oportunidad. Bueno, no fue un paseo por el parque para mí, pero disfruté cada momento.

Primero aprendí cómo conectar directamente el SN76489 y hacer algo de ruido con él. Hubo algunos elementos confusos en esto, pero, con la ayuda de The Oddbloke Geek Blog y algunos otros ejemplos, junto con el documento de especificación del chip, pude desarrollar una biblioteca arduino simple.

A continuación, tuve que aprender a conectar un teclado midi con un protector de host mini USB. Esto no fue tan difícil, ya que hay cierta documentación disponible y existen buenas bibliotecas con ejemplos claros.

Una vez que entendí cómo controlar el chip y cómo conectar mi teclado midi USB, lo único que me quedaba por hacer era escribir un código que envolviera todo esto y me permitiera usar el teclado para controlar el chip.

En el camino, aprendí que los sonidos con una frecuencia más baja que los que intenté generar para las notas midi 0x2f no sonaban bien, así que decidí usar eso para permitir el envío de ruido al generador de ruido para cualquier nota midi entre 0x28 y 0x2f. y también permite tocar notas con un toque árabe oriental para cualquier cosa más baja que midi 0x28.

Mirando hacia atrás, fue muy divertido y muy interesante de construir.

Espero que lo encuentres tan divertido e interesante como yo y que si construyes uno tú mismo, tengas la amabilidad de compartir algunas fotos.

Si le gustó este proyecto, vote por él a continuación para ayudar a ganar el concurso en el que participa

Suministros

Agregué enlaces a material que puede comprar para este proyecto, sin embargo, puede encontrar muchos artículos disponibles que puede extraer de dispositivos electrónicos viejos.

Estos enlaces son enlaces de afiliados, por lo que, si compras después de hacer clic en ellos, obtengo una pequeña porción (no una fortuna) y obtienes un producto que es adecuado para este proyecto. No hay tarifa ni costo adicional por usarlos, sin embargo, puede encontrar artículos similares que puedan reemplazarlos con bastante facilidad.

ebay.us/svA4z4 | 1 x tabla de rendimiento

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x mini escudo USB

ebay.to/2QrHl1C | 1 x chip de sonido SN76489

ebay.us/aaaj8p | 1 x registro de desplazamiento 595

ebay.us/DSvTHO | 1 x oscilador de cristal de 4MHz

ebay.us/XQeM0Q | 1 regulador de voltaje de 5 V 7805

ebay.us/6R6Fpf | 1 x disipador de calor para el regulador de voltaje

ebay.us/xkLbn4 | 3 condensadores de 10 uF

ebay.us/pnm2BH | alambres

ebay.us/PMbUfY | 1 x LED rojo para alimentación

ebay.us/zokHtc | 1 x resistencia de 220 ohmios para limitar el flujo de corriente del LED

ebay.us/qjbesJ | 1 x conector de alimentación para fuente de alimentación de 12v

ebay.us/cS0wwv | 1 interruptor de encendido / apagado

una caja adecuada (construí la mía a partir de un cajón viejo que estuvo en mi almacenamiento durante años)

Paso 1: preparación del protector de host mini USB para controlar un dispositivo Midi de 5 V

Preparación del escudo de host mini USB para controlar un dispositivo Midi de 5 V
Preparación del escudo de host mini USB para controlar un dispositivo Midi de 5 V

Dado que el blindaje del mini host USB funciona con 3.3V y los teclados midi USB que uso requieren 5V, es necesario ajustar el voltaje de salida del blindaje cortando la línea de 3.3V que va a la salida USB Vcc, por lo que luego podemos conectarlo. a 5V.

Hay muchos tutoriales sobre cómo hacer eso y resultó ser bastante simple:

Simplemente corte la línea entre la resistencia de 2k2 y la línea Vcc (vea la imagen adjunta). Usé un destornillador para rayar esta línea y probé si funcionaba con un medidor de continuidad.

Paso 2: conecte el mini escudo USB con su Arduino Nano

Conecte el USB Mini Shield con su Arduino Nano
Conecte el USB Mini Shield con su Arduino Nano
Conecte el USB Mini Shield con su Arduino Nano
Conecte el USB Mini Shield con su Arduino Nano

Afortunadamente, hay mucha información sobre cómo hacer eso, así que al buscar en Google "Arduino Nano y mini USB host shield" llegué a este hilo

Describió cómo conectar el escudo USB mini v2.0 y, después de seguirlo, seguí adelante para probar algunos ejemplos de midi USB.

Alambrado:

Escudo de host Arduino

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5V -------------- 1

3,3 V ------------ 9

TIERRA ----------- 3

RST ------------ 4

En este hilo, también se mencionó que cortaron el cable de 3.3V para que el USB pueda obtener 5V de VBUS.

Esta descripción y las imágenes adjuntas provienen de este hilo.

Por cierto, hay un error en la impresión de este tablero, por lo que esto fue un poco confuso, sin embargo, pueden ver mis comentarios sobre eso (tyrkelko) y de dónde lo aprendí.

Paso 3: ¿Chips a alguien? Añadiendo SN76489 con 4MHz Osc. y 595 Shift Register

¿Chips alguien? Añadiendo SN76489 con 4MHz Osc. y 595 Shift Register
¿Chips alguien? Añadiendo SN76489 con 4MHz Osc. y 595 Shift Register

Ahora era el momento de agregar el chip que produce este increíble sonido.

Ya desarrollé una biblioteca para conectar arduino con este chip y solo tuve que seguir mis instrucciones.

La biblioteca se publica en github bajo GPLv3 (mi primera versión de código abierto).

github.com/tyrkelko/sn76489

La conexión de 76489 y 595 fue como en la imagen adjunta que se captura del archivo readme.txt de la biblioteca

El Write Enable on Low (NotWE) de 76489 se conectó con el pin 3 del nano y se puede cambiar en el código.

#define PIN_NotWE 3

El 595 se conectó al nano de la siguiente manera y también se puede ajustar editando los números de los pines:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

El oscilador que utilicé fue un oscilador de cristal de 4 MHz con 4 patas.

Se configuró en el código de la siguiente manera y puede ajustar su valor a cualquier frecuencia de oscilador entre 500 kHz y 4 MHz:

#define FRECUENCIA 4000000.0

La conexión del oscilador que utilicé fue la siguiente:

pin 1 - no conectado

pin 7 - tierra

pin 8 - conectado a 76489 pin 14 - osc del reloj

Paso 4: Simplemente agregue el código: agregue las bibliotecas, compile y cargue el código

Las bibliotecas utilizadas en este proyecto deben agregarse al IDE de Arduino de la siguiente manera:

Abra el IDE de Arduino

Descargue las siguientes bibliotecas en la carpeta de bibliotecas de su IDE (espero verlas en el menú "Administrar bibliotecas …" en el menú "Herramientas" del IDE):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Usa el código del siguiente proyecto de github:

github.com/tyrkelko/usb_midi_tone

Descargue usb_midi_tone.ino, compile y cargue en su Arduino nano.

Paso 5: conecte un amplificador y un altavoz, conecte su teclado MIDI USB y pruebe

Ahora es el momento de probar que todo funciona.

Para hacer eso necesitamos:

1. Un amplificador y un altavoz

2. Un teclado midi USB

Conecte SN76489 pin 7, salida de audio, a la entrada de audio del amplificador.

Encienda el amplificador y luego encienda el arduino nano. Ahora debería escuchar el sonido de prueba de encendido durante una fracción de segundo.

Conecte el teclado midi USB y pruebe.

Si todo funciona correctamente, debería poder tocar 3 tonos simultáneamente, y también tocar 8 tipos de ruido e incluso algún cuarto de tono de 24 EDO-Scale.

Si no funciona, repase los pasos para ver qué pudo haber salido mal.

Si cree que esto se debe a instrucciones poco claras, envíeme una nota para que actualice las instrucciones para solucionarlo.

Paso 6: Complete el circuito con un regulador de voltaje de 5 V, un conector de 12 V, un interruptor de encendido / apagado y un LED de encendido

En este paso, debería poder envolver el circuito después de probarlo para que funcione correctamente.

1. Agregue un regulador de potencia con LM7805 y dos capacitores de 10uF y 0.1uF. Hay muchos tutoriales sobre esto, puede usar el siguiente instructable para lograrlo:

2. Agregue un conector de alimentación de 12V con el Vcc pasando por un interruptor de encendido / apagado

3. Agregue un LED con una resistencia limitadora de corriente para indicar cuándo está encendido.

Paso 7: Incluya en una caja, pinte y disfrute de su nuevo sintetizador

Una vez que los circuitos se prueban y funcionan a su gusto, no queda mucho por hacer excepto construir un recinto agradable, pintarlo con colores increíbles y reproducir algo de música.

Espero que hayas disfrutado leyendo este instructivo y que te haya inspirado a construir tu propio sintetizador o comenzar con otro proyecto en el que estás trabajando.

Por favor comente a continuación con cualquier pregunta y si ha creado algo similar basado en este tutorial, sería genial si compartiera lo que ha hecho en la sección "¡Yo hice esto!" área o en la sección de comentarios.

Recomendado: