PROYECTO Conmutación canales ampli via MIDI !

mam
#1 por mam el 20/10/2014
Bueno, pues os comento ...

La idea es realizar un sencillo circuito para poder cambiar los canales del amplificador a través de MIDI en amplificadores que no disponen de MIDI, como son la mayoría ...
Por supuesto que ya hay en el mercado dispositivos que te hacen esa función pero la idea es poder hacértelo tu mismo y a un precio módico ...

Bien, para ello he pensado que la mejor opción es utilizar un Arduino que interprete los mensajes MIDI de cambio de programa que le vayan llegando y, a través de unos relés conmute un canal u otro ...

La idea es hacer una placa donde se alojen los relés y vaya "pinchada" sobre el mismo arduino, a modo de shield ...

En mi caso, con un ampli de dos canales, con un solo relé me vale pero se pueden poner mas para conmutar varios canales.

Bueno, con el tema de la electrónica y el montaje no tengo problemas porque lo veo sencillo, pero a nivel de software es donde me pierdo ...

Realmente el Arduino solo tiene que recibir mensajes MIDI pero claro, entiendo que para interpretar los mensajes necesitará tener cargado algún programa o librería para interpretar dichos mensajes MIDI. Ademas habrá que añadir unas cuantas lineas mas de código para decirle por ejemplo que:

- Cuando llegue un mensaje de cambio de progama "X" active una salida digital "X" para activar el relé y seleccionar el canal Overdrive

Se que hay foreros que controlan bastante el tema MIDI a través de Arduino.
No sé que programas cargar en el Arduino para trabajar con él como un receptor MIDI ...

Necesito ayuda en ese aspecto, familia.

Gracias.
Subir
OFERTASVer todas
  • Harley Benton DNAfx GiT
    139 €
    Ver oferta
  • EarthQuaker Devices 70th Anniv. Plumes S Shredder
    129 €
    Ver oferta
  • Kemper Profiler Stage
    1.429 €
    Ver oferta
JomLabs
#2 por JomLabs el 20/10/2014
Buenas, yo tengo un modulo para mis pedaleras para realizar esta función y precisamente utilizo el atmega328p, micro del arduino uno. Te oriento un poco:
En cuanto al Hw:
- Necesitas, como bien dices un rele tradicional o rele Reed por cada canal. Si usas rele tradicional necesitas un pequeño driver para activarlo sin quemar las entradas de Arduino. Busca de 5v, para no tener que usar varios reguladores.
- Regulador a 5v, Jacks, leds y el circuito mínimo para hacer funcionar el atmega, a no ser que uses alguno de los arduinos (uno, micro, mini,etc...)
- Para el Midi In, un circuito opto aislado, usando opto acoplador 6N138 esta bien. Hay muchos esquemas en la web
En cuanto al Sw:
- Para interpretar un comando Midi, es necesario utilizar los pines Serial a 31250 baudios, los mensajes MIDI se componen de 3 o 4 bytes generalmente. Si estas empezando te recomiendo la librería Midi, esta bastante currada. El sketch es bastante sencillo. Te puedo pasar ejemplos.

Para los interesados, tengo unas cuantas pcb para 4 canales que me sobran, me he ido a un diseño un poco más compacto y no se que hacer con ellas. Podéis contactarme por privado si os interesan.

No obstante, me ofrezco a ayudarte con lo que necesites.

Un saludo!
Subir
1
DaviZerrat
#3 por DaviZerrat el 20/10/2014
Hola compañeros!

Para la aplicacion comentada y ya que simplemente se trata de una conmutacion, quizas se podria considerar el uso de una PIC que por 2€s la tienes. Es mi humilde opinión. Dichas CPUs, son antiguas pero oscilan a 20mhz y en la web corren varios ejemplos de su uso orientado a midi.

Me cojo un sitio, que el tema me interesa.... Saludos :hola:
Subir
mam
#4 por mam el 21/10/2014
DaviZerrat, utilizar un PIC es mas barato pero necesitas un programador, etc ...
Por apenas 20 euros "guarros" que te cuesta un Arduino UNO tienes ya casi todo el hardware, ademas. la comodidad de cargar archivos *.ino desde el pc con IDE me facilita mucho mas el desarrollo y prueba de cualquier aplicación que le quieras dar al Arduino.

Un saludo.
Subir
mam
#5 por mam el 21/10/2014
Compañero JomLabs, muchas gracias por ofrecer tu ayuda, seguro que haremos buen uso de ella ... ;)

El tema de los relés y el optoacoplaor ya lo tenía mirado, mi problema está mas en la programación pues hay algunas cosas qu no tengo claras:

- No tengo claro cual es exactamente la librería que tengo que utilizar.

Y eso como funciona exactamente, se carga la librería en el Arduino y luego se carga el programa que gestiona la conmutación?
O el mismo programa de conmutación carga la librería? en ese caso, donde se guarda la librería?

Como verás, algunos conceptos aun no los tengo muy claros ...

En otro orden de cosas, tampoco estaría de mas que pusieras alguna foto de esas pcb y si es con dimensiones mejor aun ... :okis:

Un saludo.
Subir
JomLabs
#6 por JomLabs el 21/10/2014
El uso de librerías en entornos de programación permiten la reutilización de código, el bajo acoplamiento, la alta cohesión, encapsulamiento, etc..
Bueno esto es charla teórica de programación. En definitiva, si la librería es funcional, se puede utilizar para realizar las funciones que necesitamos de una manera transparente.
En el caso de la librería Midi, por ejemplo, para mandar un mensaje Midi únicamente necesitamos 3 sentencias: inclusión de la librería, inicialización y envío del mensaje.

A tu pregunta, las librerías, una vez incluidas en el programa (o sketch que llaman en caso de Arduino), forman parte del código que se ejecuta, una vez compilado. El compilador se encarga de recopilar todas las referencias a librerías e incluirlas en el programa resultante.

En el caso de Arduino, basta con incluir la libreria en la carpeta Arduino/libraries y hacer referencia en el sketch con el comando #include "libreria.h". El compilador se encarga del resto.

La libreria Midi se hace referencia desde la web de Arduino:
http://playground.arduino.cc/Main/MIDILibrary

Recomiendo descargar el Ide de Arduino, bajar la libreria en formato zip (creo que la última versión es la 4.2), descomprimirla en la carpeta Arduino/Libraries y revisar alguno de los ejemplos. Una vez que el entorno reconoce una librería, en el menú archivo -> ejemplos se pueden ver ejemplos de todas las librerías instaladas.

Hay mucho material, tutoriales, videos, ejemplos en la web para Arduino para el uso de librerías, de la librería Midi, no es difícil encontrar información.

He subido una foto de mi PCB, las dimensiones son 70x97, entra en una caja Teko 3A de aluminio. En esta PCB incluí varias funcionalidades:
- Activación de 4 reles conectados a jacks de salida, una vez activado el relé se enciende su Led correspondiente. La activación del Relé supone conectar la masa con la punta del jack.
- Midi In y Midi Out. Alimentación phantom en Midi In
- Alimentación externa pensado en alimentadores tipo Boss con - en el centro.
- Pantalla lcd texto, hay varios formatos 16x2, 20x2, 20x4, 40x2...
- Conexión a puerto de programación del Micro FTDI o Bluetooth. Se puede soldar el micro y programarlo desde aquí, sin necesidad de usar programador adicional. Los cables FTDI son bastante baratos (básicamente convierten de USB a entrada digital que interpreta Arduino)

Podeis encontrar la foto también en:
http://goo.gl/DLN1TN

Si hay alguien interesado en la pcb o kit de montaje, que contacte conmigo en privado.
Archivos adjuntos ( para descargar)
MR1-pcb.jpg
Subir
DaviZerrat
#7 por DaviZerrat el 21/10/2014
Impresionante JomLabs! Esa pcb tiene una pinta espectacular :ok:

Hoy comente con un compañero que trabaja con arduino y le comentaba lo de la PIC. Me ha dicho que se me va la olla y me explico lo de cargar librerias en el main. Tambien programar a alto nivel, con funciones. Algo que desconozco por completo.... En mi epoca, pues no existia :no_lo_se: entonces los micros se programaban con lenguaje asemblador de bajo nivel, 7 segments, switches y tira millas... No hay color claro :_no_no:

Sigo por aqui, gracias por tus comentarios :hola:
Subir
mam
#8 por mam el 21/10/2014
Muchísimas gracias Jom, me has aclarado muchos conceptos ... ahora queda trastear ...
Subir
JomLabs
#9 por JomLabs el 21/10/2014
#7 Ahora es todo mucho más sencillo. Recuerdo mis inicios con el 68000 y las instrucciones de ensamblador, vaya tiempo, heheehe.

Por precio Atmega328p ahora mismo es una pasada, por 2$ tienes el micro directamente desde china en tu salón y si tienes prisa, en páginas como rs online por unos pocos euros más y en un día.

#8 Dale, cualquier duda me dices...
Subir
LANDA
#10 por LANDA el 22/10/2014
Interesante proyecto este. Yo desde hace tiempo, vengo manejando la idea de hacer lo mismo pero con comunicación serial RS232. Yo he hecho selectores de canal de audio con relés y un PIC, manejadores de display serial con PIC y con Micros Atmel, etc. La idea de usar MIDI en asuntos musicales parece la forma obvia de hacerlo, pero con RS232 es mucho mas fácil. Claro que está el inconveniente que controlarlo desde una PC requiere hacer una aplicación o usar una tipo terminal que son incómodas de usar. Mi idea es hacer un control tipo pedalera y tambien hacer su contraparte serial en el ampli ( o en la pedalera remota je,je).
Sigan como van, me interesa aprender. :)
Subir
DaviZerrat
#11 por DaviZerrat el 22/10/2014
#9

Con el que yo "aprendi" fue el Motorola 68HC11 que años aquellos ... :si: saque los apuntes y los tengo a la vista y como soy teco terco, al igual un dia empiezo a hacer experimentos... :D
Subir
mam
#12 por mam el 22/10/2014
Joer ... aun recuerdo el entrenador aquel que teníamos de Hewlett Packard con su teclado hexadecimal y a meter lineas de codigo puro y duro, mnemónicos a tutiplen para al final encender leds de siete segmentos, que recreaban una especie de "gusano" en movimiento ... jajaja, que tiempos aquellos años 80, nos creíamos los reyes del mambo dominando las puertas lógicas y destripando el Spectrum ...

Lo que podíamos llegar a hacer con solo unos cuantos Kbytes de Ram y no como ahora, que usan lenguajes de alto nivel de verdad, con funciones acojonantes y ahora te las ves y te las deseas para ver un software programado decentemente y optimizado al máximo. ...

Hoy en día, si el software va ralentizado por la escasa optimización, le meten mas potencia hardware y andando ...
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo