Tabla de contenido:
- Suministros
- Paso 1: preparación del protector de host mini USB para controlar un dispositivo Midi de 5 V
- Paso 2: conecte el mini escudo USB con su Arduino Nano
- Paso 3: ¿Chips a alguien? Añadiendo SN76489 con 4MHz Osc. y 595 Shift Register
- Paso 4: Simplemente agregue el código: agregue las bibliotecas, compile y cargue el código
- Paso 5: conecte un amplificador y un altavoz, conecte su teclado MIDI USB y pruebe
- 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
- Paso 7: Incluya en una caja, pinte y disfrute de su nuevo sintetizador
Video: Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
¿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
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
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
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:
Sintetizador de agua con MakeyMakey y Scratch: 6 pasos (con imágenes)
Sintetizador de agua con MakeyMakey y Scratch: Usar MakeyMakey para transformar diferentes materiales en interruptores o botones y, por lo tanto, activar movimientos o sonidos en la computadora es un asunto fascinante. Uno aprende qué material conduce el impulso de corriente débil y puede inventar y experimentar con i
Sintetizador Arduino MIDI Chiptune: 7 pasos (con imágenes)
Sintetizador Arduino MIDI Chiptune: revive la diversión de la música de los primeros juegos de computadora con un auténtico sintetizador chiptune de 8 bits, que puedes controlar a través de MIDI desde la comodidad de cualquier software DAW moderno.Este circuito simple usa un Arduino para manejar un AY-3- 8910 géneros de sonido programables
Sintetizador de música basado en DE0-Nano-SoC: 5 pasos (con imágenes)
Sintetizador de música basado en DE0-Nano-SoC: Sintetizador de música Este sintetizador de música es bastante simple: solo tienes que soplar, cantar o incluso tocar música frente al micrófono, y el sonido se modulará y enviará a través del altavoz. Su espectro también aparecerá en la pantalla LCD
Controlador de tira de luces LED MIDI 5V para Spielatron u otro sintetizador MIDI: 7 pasos (con imágenes)
Controlador de tira de luces LED MIDI 5V para Spielatron u otro sintetizador MIDI: este controlador destella tiras de luces LED de tres colores por 50mS por nota. Azul para G5 a D # 6, rojo para E6 a B6 y verde para C7 a G7. El controlador es un dispositivo MIDI ALSA, por lo que el software MIDI puede emitir a los LED al mismo tiempo que un dispositivo de sintetizador MIDI
Sintetizador Micro Midi: 5 pasos (con imágenes)
Sintetizador Micro Midi: Este instructivo demuestra el uso del chip VLSI VS1053b Audio y Midi DSP en su modo Midi en tiempo real. En este modo actúa como un sintetizador Midi GM (General Midi) polifónico de 64 voces. Un micro independiente Arduino Uno controla una pantalla OLED