Autor Tema: Controlador MIDI por USB con PIC para Virtual Dj o Traktor  (Leído 20657 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #15 en: 06 de Agosto de 2010, 14:56:30 »
Si dentro del i2c_read() no pones nada significa ACK por defecto, y si pones i2c_read(0), significa que ya no quieres más datos. Creo que por ahi no viene el problema, no se. Mañana seguiré probando, que ahora me tengo que ir a trabajar, que estos días trabajo por la noche.
Un saludo.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #16 en: 06 de Agosto de 2010, 15:30:40 »
Entonces perdona la ignorancia, cuando tuve que usar I2C lo hice en assembler, y tuve que hacer la librería de cero. No recordaba que el CCS realizaba el ACK  por defecto. Habrá que leer el datasheet. Seguro allí menciona cómo enviar 1 o más bytes de uno a otro.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #17 en: 07 de Agosto de 2010, 13:44:53 »
¡¡Ya he conseguido solucionar lo del I2C!!
El problema estaba en el esclavo. Esto es lo valido en la rutina de interrupcion:
Código: [Seleccionar]
#INT_SSP
void ssp_interrupt()
{
state=i2c_isr_state();
if(state>=0x80){
i2c_write(buffer[0x00]);
i2c_write(buffer[0x01]);
i2c_write(buffer[0x02]);
}
return;
}
El valor de "state" para solicitar datos es 0x80 al principio, pero cuando va a leer se va incrementando, por eso la condicion tiene que ser mayor o igual que 0x80, no igual a 0x80 como aparece en muchos sitios, que solo se cumple cuando lees un solo byte.

Ahora mediré los tiempos que tarda en hacer una lectura completa.

Un saludo a todos.

Desconectado chichepic

  • PIC12
  • **
  • Mensajes: 56
    • MidiQuet
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #18 en: 08 de Agosto de 2010, 14:06:15 »
Hola,te felicito por tu proyecto!
Yo logrè hacer algo similar...un Controlador Midi_Usb de 32 Potes,Teclas y Leds , con los modulos expansores de MidiBox
aca esta el link.
http://midibox.org/forums/topic/12840-controlador-midi-usb-compatible-con-midiboxcore-18f2550ok/?s=366da373d1bd359826f87540897d3df3
por que necesitas 2 PIC ? no entiendo bien la idea gral.
espero tener mas noticias de tu proyecto, saludos.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #19 en: 08 de Agosto de 2010, 16:15:05 »
Hola:
Lo del midibox lo habia mirado, pero preferia algo con el código más accesible y que entendiese mejor para poder hacer todas las modificaciones que quisiera, y poder adaptarlo a mis necesidades. Por eso lo fui haciendo todo a mi manera.
Utilizo 2 pic porque estoy construyendo 2 controladores por separado, como si fuesen 2 cdj por ejemplo, para colocar uno a cada lado de la mesa de mezclas.
Así con 2 pic, puedo unir un controlador a otro por solo 2 cables, porque para enviar de uno a otro toda la informacion y botones...harian falta montones de cables.
Lo que quiero hacer son 2 controladores como el de la foto (pero sin el CD), unir uno de ellos (el B) al otro (el A), el A se comunica con el VirtualDj o Traktor por USB, el sonido de la tarjeta de sonido de cada canal lo meto a la mesa de mezclas externa y listo.
A la vez, el software envia los leds y demas informacion al controlador A por USB, este la gestiona, y la envia al B o lo que haga falta.

Desconectado chichepic

  • PIC12
  • **
  • Mensajes: 56
    • MidiQuet
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #20 en: 08 de Agosto de 2010, 17:18:06 »
Mira que yo no utilize el MIOS (codigo de midibox) hice mi propio codigo compilado con PROTON...donde el Pic se comunica con los modulos ADIN ,DIN y DOUT de midibox,que son solo expansores de entradas y salidas ( 4* 4051,74hc565,74hc165)
los modulos digitales (teclas y led) se comunican con el Pic via SPI,lo que esto te permite tenerlos de forma fisica alejado del PIC,que seria tu segunda bandeja,pero no se que distancia de cableado permite el SPI ,con el analogico de seguro que no porque vas a tener mucho ruido.
Lo que intentaria en tu caso, es trabajar con la USART para la comunicacion de los 2 PICs,la data midi que envias via USB la podes enviar simultaneamente por el serial al otro pic y viceversa.
saludos.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #21 en: 09 de Agosto de 2010, 09:14:54 »
Hola chichepic

Nunca he utilizado SPI, pero el I2C a poco mas de 5cm ya falla. Lo que he utilizado es un I2C bus extender, y a un par de metros funcina perfectamente (y llega mucho mas lejos aun)
La USART a maxima velocidad llega a 115.2kbps,  el I2C en modo rapido, a 400, por lo que creo que sea mejor el i2c para comunicarse entre circuitos en este caso.
Saludos

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #22 en: 09 de Agosto de 2010, 10:49:11 »
por lo que entiendo estas haciendo dos dispositivos identicos, pero uno esclavo del otro? En ese caso como sería la aplicación, cuando usas uno no puedes usar el otro? O la idea es que los dos DJs, en cualquier momento pueden mezclar música independientemente de cual mexcladora uses?

En ese caso, el soft que usas, el VirtualDJ creo que es, no te permite conectar dos dispositivos USB? Entoces lo que harias es tener dos consolas mezcladoras iguales ambas conectadas a la PC. En este caso no necesitarias la comunicacion I2C o serie entre los PIC.

Disculpa los términos que utilizo, quizas no sean los especificos de los DJs, pero espero que hayas entendido mi idea.
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #23 en: 09 de Agosto de 2010, 11:11:55 »
Si, eso sería otra opcion, utilizar 2 USB, aunque no estoy seguro al 100% que el soft permita enchufar 2, pero supongo que si, pero así practico el I2C que nunca habia utilizado.
En cuanto funcione todo bien, si el software permite 2 usb, supongo que lo haré así, que es mucho mas rapido y no habra retardos. Es que de momento, y para las funciones básicas, el I2C es más que suficiente velocidad, pero si lo quiero ampliar un poco más, añadir displays y demas....se va a hacer lento.
Tiempo al tiempo... de momento sigo probando cosas.
Un saludo a todos

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #24 en: 09 de Agosto de 2010, 11:21:03 »
5 cm nomás? Pusistel las resistencias pull up correspondientes exigidas por el protocolo I2C?

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Controlador MIDI por USB con PIC para Virtual Dj
« Respuesta #25 en: 09 de Agosto de 2010, 16:04:20 »
Si si, con resistencias y todo. Quien dice 5cm dice 10...pero vamos, que no llega mucho más allá. Según las especificaciones del pic, la capacidad máxima de la línea no puede superar 400pF. También dependerá lo bien que se haga el cableado y más condiciones, pero a mi no me funcionaba a 2metros sin tener que usar el bus-adapter.

Desconectado chichepic

  • PIC12
  • **
  • Mensajes: 56
    • MidiQuet
Re: Controlador MIDI por USB con PIC para Virtual Dj o Traktor
« Respuesta #26 en: 09 de Agosto de 2010, 18:13:24 »
Si mal no recuerdo,en la ultima version del Traktor te permite varios dispositivos USB,te lo enumera como Disp. de Audio USB (2),sino puedes usar el Midi Yoke que es un mezclador midi de Midi_Ox , si es una maquina vieja podes mandar midi por el serial.
Subo una fotos viejas del cacharro que armè,saludos

Desconectado chichepic

  • PIC12
  • **
  • Mensajes: 56
    • MidiQuet
Re: Controlador MIDI por USB con PIC para Virtual Dj o Traktor
« Respuesta #27 en: 09 de Agosto de 2010, 18:15:22 »
una por dentro

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Controlador MIDI por USB con PIC para Virtual Dj o Traktor
« Respuesta #28 en: 09 de Agosto de 2010, 19:33:42 »
herramoentas indispensble al momento de soldar toda esa maraña de cables, TERMO y MATE nunca pueden faltar  :mrgreen:

La segunda foto realmente es la que esperaba de entrada  :D

Volviendo al tema, creo que si  el soft te permite 2 o mas dispositivos, es por donde tendrias que ir, y no usando comunicación entre los dos pic.
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado rachelies

  • PIC12
  • **
  • Mensajes: 65
Re: Controlador MIDI por USB con PIC para Virtual Dj o Traktor
« Respuesta #29 en: 10 de Agosto de 2010, 02:57:00 »
OK, esta misma mañana me pongo manos a la obra para montar un par de placas de prueba simulando 2 controladores aver que dice el Traktor, jejejej.
Nada más que lo monte y pruebe, comentaré.
Chichepic, me gusta tu controlador, pero verlo por dentro ahora mismo que me he levantado de la cama...me da estrés, jajajaj
Está muy bien, pero lo que yo estoy montando es mucho mas simple (o eso creo)


 

anything