TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: alogic.on en 26 de Septiembre de 2007, 17:07:19

Título: del papel al circuito midiScratch
Publicado por: alogic.on en 26 de Septiembre de 2007, 17:07:19
hola a todos.  Me estreno en este apartado del foro para compartir el proyecto hasta donde lo he desarrollado y que a quien le apetezca aportar alguna idea para mejorar las opciones lo comente en algún lugar :mrgreen: y no en mi correo, que asi  queda constancia de sus dudas y aportes al proyecto que pueden beneficiar a otros

es un controlador midi para sincronizar la posicion y la velocidad de secuenciadores a traves de un codigo grabado en vinilo o un encoder,etc he visto cosas parecidas sobre cinta magnetica
 el pic usado es un 16f877-a (http://www.cs.indiana.edu/csg/hardware/B442_inv_pend/30292b.pdf), programado en ensamblador con mplab y simulado en proteus isis.

voy a intentar explicar que hace el programa de forma breve supongo que seria una especie de
mini esquema de como funciona:
el prog inicia configurando puertos, igualdades , moviendo de un lado a otro la configuracion de los dispositivos
como las entradas analogicas o la usart .....

el bucle principal PROGRAMA envia una señal active sensing (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.5) cada tercio de segundo unos 333 milseg
lo que sigue al programa es lo que hace en funcion de lo que suceda en las interrupciones

TMR0 hace una interrupcion si pasa a 0, x veces seguidas, sin que un envio por la usart refresque el timer y el registro de las repeticiones
llamado ESPERA. al final del asm hay una linea de codigo  en la que se puede cambiar  el tiempo en que tarda en terminar su cometido. este es mandar la señal de stop si el aparato está andando y se para el disco

PB0 esta lo que recibe es la suma de los impulsos generados por el encoder, vinilo... lo que a cada uno le convenga , la suma quiere decir
que si el pulso a es         __XX__XX_
               y el pulso b es _XX__XX__
la suma de los dos es     _XXX_XXX_
es una señal repetitiva de 01 grabada en cada canal desfasadas 90 grados unos 47.8 Hz a 120BPM lo que dice unos 6 tiks por negra,24 por nota blanca, 96 ticks por compas de 4/4 (corrijanme aqui si hace falta que me lio con los ticks y tocktuk)
esta configurada para que salte la interrupcion de PB0 cada vez que pasa del flanco descendente  0, al ascendente 1
entonces testea el estado de las patillas RD0 y RD1en funcion de si es uno o cero cambia la direccion del programa
   hacia adelante testea que no venga de estar parado, si estaba parado envia la señal de posicion SPP  (http://www.eumus.edu.uy/docentes/jure/midi/#2.2.1) seguido de  continue (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.3)  y  el correspondiente timming clock (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.1)  , asi empieza en la posicion que se haya guardado , si ya estaba en marcha solo envia la señal de timming clock (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.1)
 si por el contrario va hacia atras, envia la señal de stop, y recupera posiciones en el SPP (http://www.eumus.edu.uy/docentes/jure/midi/#2.2.1).

las interrupciones de portb 4567

son continue, stop  no uso start (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.2) por que empieza siempre al principio

reset limpia los registros de SPP que son MSB-PHRASE; LSB-STEP; POINTS-SUMA y empieza desde el principio

cue , copia el valor de los reg del tmr2 sobre los registros del del SPP para empezar en ese punto de la cancion cada vez que se presione
la patilla de entrada de contador de eventos TMR1 tiene puesto otro interruptor para avanzar posiciones en el contador asi al pulsar el boton de cue coge del tmr1 los datos para saber la posicion donde tiene que empezar el secuenciador

ya queda preparar el circuito
(http://midicontrol.pbwiki.com/f/placa-pruebas.jpg)
este es el pcb que voy a hacer para las pruebas ,no es mas que una placa modificada de ucapps (http://www.ucapps.de/mbhp/mbhp_core_v3.brd)

Implementación MIDI 1.0 (http://www.eumus.edu.uy/docentes/jure/midi/)
Syncing Sequence Playback (http://www.borg.com/~jglatt/tech/midispec/seq.htm)
Final Scratch (http://en.wikipedia.org/wiki/Final_Scratch#Vinyl.2FCD_Time_Code)

un saludo    :-) 


Título: Re: del papel al circuito midiScratch
Publicado por: Nocturno en 27 de Septiembre de 2007, 02:17:23
Conste que no me he enterado de nada de lo que hace tu circuito, porque no tengo ni idea de MIDI. Sólo escribo para darte las gracias por compartirlo y para decirte que me ha encantado el ruteo de esa placa; se ve muy ordenado y limpio.
¿Lo has probado ya?
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 27 de Septiembre de 2007, 06:59:30
hola
lo estoy montando a ver si funciona, cruzo los dedos pues es mi primer programa que intento poner en práctica, a parte de mil pruebas echas en el isis.
 
la placa debería funcionar, de donde saque el modelo original (http://www.ucapps.de/mbhp_core_es.html)  anda perfectamente,
solo le he añadido conectores para usarla como placa de pruebas  :-)

un saludo y gracias
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 28 de Septiembre de 2007, 07:10:35
primera impresion, me ha explotado el condensador de 2200uf en la cara  :?, hice un corto mientras medía.¡¡toma ya¡¡
segundo intento , con mas cuidado de no cargarme nada jejej ,y no hace nada, no varia el estado de ninguna de las puertas.
a la tercera va la vencida dicen algunos... lo vuelvo a poner en cargador y le meto un programa muy sencillo , solo para mover unos leds en el puerto b
Código: ASM
  1. LIST         p=16f877A
  2.                 #include <p16f877.inc>
  3. ;------------------------------------
  4. PDel0   EQU             0X22
  5. PDel1   EQU             0X23
  6. PDel2   EQU             0X24
  7.  
  8.                         org     0
  9.         goto    empieza
  10.     org     4
  11.         goto    programin
  12.         org             6
  13. ;------------------------------------
  14. ;------------------------------------
  15. empieza
  16.         BSF     STATUS,5
  17.         movlw   b'00000000'
  18.         movwf   TRISB
  19.  
  20. programin
  21.         BCF     STATUS,5
  22.         CALL    retardo
  23.         inCfsz  PORTB
  24.         GOTO    programin
  25. programine
  26.         call    retardo
  27.         decfsz  PORTB
  28.         GOTO    programine
  29.         movlw   b'10101010'
  30.         MOVWF   PORTB
  31.         CALL    retardo
  32.         movlw   b'01010101'
  33.         MOVWF   PORTB
  34.         CALL    retardo
  35.         movlw   b'10101010'
  36.         MOVWF   PORTB
  37.         CALL    retardo
  38.         movlw   b'01010101'
  39.         MOVWF   PORTB
  40.         CALL    retardo
  41.         movlw   b'10101010'
  42.         MOVWF   PORTB
  43.         CALL    retardo
  44.         movlw   b'01010101'
  45.         MOVWF   PORTB
  46.         RLF             PORTB
  47.         CALL    retardo
  48.         RLF             PORTB
  49.         CALL    retardo
  50.         RLF             PORTB
  51.         CALL    retardo
  52.         RLF             PORTB
  53.         CALL    retardo
  54.         RLF             PORTB
  55.         CALL    retardo
  56.         CLRF    PORTB
  57.         GOTO    programin
  58.        
  59. ;---------------------------------
  60. retardo
  61.         movlw   .125
  62.         movwf   PDel0
  63. retardon  
  64.         incfsz  PDel0
  65.         GOTO    retardon       
  66.         clrf    PDel0
  67.         return
  68.                 end
y en el simulador funciona tanto en isis como en picsimulator  :?, ya daba por echo que era el circuito lo que estaba mal , pero le he metido otro programa , un sistema operativo de ucapps (http://www.ucapps.de/) y el programa funciona perfectamente  :( :( asi que por eliminacion algo hago mal a la hora de cargar mi programa. me voy a la seccion de principiantes a ver si encuentro una solución

gracias y un saludo
Título: Re: del papel al circuito midiScratch
Publicado por: Modulay en 01 de Octubre de 2007, 03:42:39
¿Qué secuenciador pretendes manejar?
Por lo que he logrado entender, quieres trabajar con Virtual Dj o alguno similar.
Yo ando haciéndome una LC también basándome en el material de ucapps y el perfil de Mackie Control, para tabajar con Nuendo.
Por el momento estoy desarrollando en Delphi una emulación software que conecto al secuenciador a través de Midi-Yoke para ir definiendo funcionalidades y destripando lo más posible el protocolo del hardware que pretendo imitar,aunque estoy teniendo algún problemilla con la gestión del midi...más que nada consistente en que al cerrar el puerto,a Nuendo no le sienta demasiado bien y tengo que desconectarle de dicho puerto también antes de volver a ejecutar mi soft controlador.Lo tuyo es puramente hard externo por lo que supongo que no has lidiado con este tema.
Comentas que tu programa no va pero el SO de ucapps si ¿te refieres a MIOS? que yo sepa,ese simplemente hace de bootloader y gestiona la comunicación midi,pero no implementa funcionalidad alguna con la que puedas hacer trapicheos midi.
¿Qué se supone que debería hacer tu programa? ¿has probado a monitorizar con MIDI-OX?
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 01 de Octubre de 2007, 11:50:14
hola
Citar
¿Qué secuenciador pretendes manejar?
Por lo que he logrado entender, quieres trabajar con Virtual Dj o alguno similar.
esta pensado para manejar secuenciadores hard. o tipo ableton cubase,

Citar
Comentas que tu programa no va pero el SO de ucapps si ¿te refieres a MIOS? que yo sepa,ese simplemente hace de bootloader y gestiona la comunicación midi,pero no implementa funcionalidad alguna con la que puedas hacer trapicheos midi.
mi programa no utiliza mios, decia que el circuito si funciona con mios, todavia no consigo comprender bien como funciona mios para hacer mis propias aplicaciones basadas en el.

Citar
¿Qué se supone que debería hacer tu programa? ¿has probado a monitorizar con MIDI-OX?
no todavia no funciona en el circuito pero es donde tendré que verificar antes de probarlo, con respecto a lo que hace el programa es muy sencillo sincroniza un esclavo con un maestro, en este caso un encoder incremental , con la diferencia de final scratch o serato .... estos cuando se mueve el disco envian ordenes al programa de posicion y direccion de giro el mio solo envia la posicion de giro y stop en vez de hacia atras y cuando vuelve hacia adelante posicion y continue, usease solo suena hacia adelante  yo uso grooveboxes tipo hard. y estas no tienen la versatilidad de un vinilo , menos todavia los programas del ordenador

un saludo y gracias voy a seguir haciendo pruebas a ver si soluciono el por que no furrula el programa sobre el micro

PD- si le quereis echar un ojo a mi controlador de 64 entradas analogicas imitando al de ucapps os lo dejo adjunto
Título: Re: del papel al circuito midiScratch
Publicado por: Modulay en 01 de Octubre de 2007, 16:21:09
MIOS es un bootloader de dos niveles que permite comunicar al micro con el host vía midi para labores de gestión y configuración que "la aplicación (tu programa)" pueda implementar,además de permitir reprogramar al micro cuando quieras y con lo que quieras vía midi.
Aparte del bootloader,si no estoy confundiendo conceptos,MIOS también se compone de su correspondiente aplicación en el host que hace de downloader y otras muchas cositas interesantes.
La mayor utilidad que le veo es la posibilidad de reprogramación del micro de forma fácil a través del puerto midi,y poco más,aunque ojeando los screenshots de la aplicación host de MIOS, ésta se ve bastante seriota,potente y funcional.
Para llevar a cabo estas labores,el firmware MIOS implementa las funciones necesarias para la transmisión y recepción midi mediante la usart del micro,además del protocolo necesario para la comunicación con el downloader.Esto quiere decir que si tu firmware va a correr bajo MIOS,tendrás que implementarlo siguiendo las pautas que marcan el uso de un bootloader,además de que todo lo que sea acceso al puerto serie (midi) deberás hacerlo a través de ese bootloader y sus funciones implementadas a tal efecto.
En ucapps hay montones de código útil,y en concreto hay una especie de código fuente esqueleto del cual partir para desarrollar tu aplicación basada en MIOS,disponibles tanto en asm como en C,si no recuerdo mal.
En mi caso,no tengo pensamiento de usar MIOS para mi controladora,pero si de hacerle su bootloader con una filosofía parecida.
Créeme que te vendrá muy bien midi-ox (http://www.midiox.com/) para depurar tu programa,ya que te permite monitorizar el tráfico de datos en los puertos midi del pc.
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 02 de Octubre de 2007, 15:46:58
hola y gracias, excelente programa midi-ox lo utilizo desde hace tiempo para actualizar los sintes que tengo
creo que no me explique bien, el programa midiScratch no es una aplicacion para mios, decia que si le cargo mios , por tenerlo a mano ya ensamblado y listo para ser quemado, este corre sobre el pic, cosa que no hace ninguno de los programas que yo hice.Por una u otra causa  :(
Con respecto a mios lo unico que puedo decir es que decidi empezar a programar para poder comprender bien como funciona, pero de momento estoy con los pic16xxx cosa que me lia cuando veo el codigo de mios y mientras estudio van saliendo programas ejemlo como este, que no son programables desde la usart, no se basan en mios, ni nada parecido, pero que van surgiendo de un culo inquieto como yo :-) :-) , los usuarios de midibox me han aconsejado que piense en el bootloader como si fuera la bios de un ordenador, mios el sistema operativo y las aplicaciones como si fueran programas, que asi me seria mas sencillo entenderlo, y bueno voy haciendo mis pinitos con eso, como cambiar el orden de los mensajes en pantalla o utilizar dec de 7 segmentos en vez de leds, uso los esqueletos de asm pues no conozco nada de c, dicen que es mas facil pero yo de momento no le veo la logica, cuando haya mascado bien el asm tendre algo que aprender mientras tanto lo he dejado de lado
coincido contigo en que lo mas interesante es el poder modificar el programa a traves de la usart me tiene perplejo , todavia intrigado en como se hace, pero todo se andará
con respecto a lo que me has comentado sobre el proyecto en que estas embarcado solo puedo desearte suerte y ningiun problema, cuando vayas a enseñarlo tenme en cuenta, que me gustaria verlo  :mrgreen:

gracias y un saludo
Título: Re: del papel al circuito midiScratch
Publicado por: Modulay en 02 de Octubre de 2007, 19:13:45
Suerte espero tener yo también,aunque ningún problema...eso es...imposible.Ya los estoy teniendo y sólo estoy trabajando en una emulación software,sin hardware ninguno implicado,pero bueno,todo se andará :)

Volviendo al tema del bootloader...
Supongamos que no hay bootloader,como en el caso de ese programita que no consigues hacer funcionar.
Cuando el micro es reseteado o cuando le conectas la alimentación,él empieza la ejecución en la dirección 0 de la memoria de programa,es decir,en tu caso ejecutaría la instrucción:

goto empieza ; DE AHI QUE VAYA PRECEDIDA POR "org 0",PARA QUE SEA UBICADA EN ESA DIRECCION

...y acto seguido se pondría a ejecutar la rutina "empieza".

Previamente a todo esto,has necesitado programar el pic de alguna forma,ya sea con un programador o mediante ICSP, con el objetivo de que tu pic pueda correr la aplicación que has escrito y después le has transferido a su memoria de programa.

Ahora vamos a hacerlo con un bootloader.
Cada bootloader tiene sus peculiaridades y no todos tienen por qué comportarse exactamente de la forma que voy a detallar,pero para que le pilles mejor el rollo a como funciona el asunto,demos por hecho que sí.
Un bootloader es una aplicación,como puede serlo la tuya,pero con unas características y una misión concretas.Este bootloader se escribe en asm,C o en el lenguaje que sea y después se le transfiere al pic de la misma forma que se hace con cualquier archivo .hex.
Lo que hace especial al bootloader que convivirá con la aplicación es que éste ocupará las primeras posiciones de memoria,incluida la posición 0 (para asegurarse el "mando" del micro tras un reset),y también las últimas (donde está el grueso de su código, qué basicamente consiste en una rutina de manejo del puerto serie y de otra para escribir datos en la memoria de programa).
Ahora bien,todo bootloader que se precie debe estar pensado y desarrollado para funcionar en conjunto con un Downloader,el cual no es mas que una aplicación en el pc que le puedes cargar ficheros .hex para que los transfiera por el puerto serie,de una forma similar a la que midi-ox te permite cargar ficheros (sysex supongo) y mandárselos a tus sintes.

Vamos a suponer,por decir un número,que el bootloader ocupa las 10 primeras posiciones de memoria de programa del micro y las 100 últimas.
Pues bien,al hacerle un reset al pic,se empezaría a ejecutar el bootloader,que lo primero que haría sería preguntar por puerto serie "hey downloader, ¿estás ahí?" ,en el caso de no recibir respuesta,automáticamente el bootloader cedería el paso a la aplicación,haciendo por ejemplo un "goto 10",posición a partir de la cual debería estar la aplicación,que no soltaría los mandos del micro hasta el supuesto de producirse un nuevo reset.
Si al llamar a su downloader,el bootloader recibe respuesta,entonces se iría al grueso de su código en las última posiciones de memoria del micro y se quedaría en un bucle esperando órdenes de dicho downloader.Y la orden estrella sería "atento,que te envío byte a byte un archivo .hex para que lo vayas escribiendo en la memoria de programa".
Evidentemente,a la hora de escribir tu aplicación en el compilador o ensamblador,debes hacer uso de las directivas "org" para asegurarte de que dicha aplicación será colocada a partir de la posición 10 de memoria y no machaques el bootloader,si no,se jode el invento.

La comparación con una bios es perfecta,al arrancar o resetear un pc,quien primero entra en juego es la bios,si no recibe el estímulo a través del teclado para entrar en su menú,se quita de enmedio y deja paso al sistema operativo,quien se encargará de gestionar el hardware del ordenador y pemitir a los programas que puedan interaccionar con él,haciendo de intermediario.

De ahí que me refiriese a MIOS como un bootloader de dos niveles...
El primer nivel sería el encargado de hacer la primera llamada al donwloader (MIOS host) y llevar a cabo una posible reprogramación del micro con una nueva aplicación,o bien,si no recibiese respuesta a su llamada,se encargaría de dar paso,si no me equivoco,al segundo nivel,lo que sería el sistema operativo.Este sistema operativo implementaría el protocolo para poder comunicarse también con MIOS host,el cual, además de permitir la reprogramación del micro a través del primer nivel del bootloader,implementa unas pocas más de funcionalidades que pueden proporcionar versatilidad a las aplicaciones.De todo esto deduzco,y creo que no voy mal encaminado,que el sistema operativo no suelta el control del micro en ningún momento,digamos que lo comparte con la aplicación,ya que todos los datos,sean mensajes midi o sysex,pasan a través de él.Y en un momento dado una cadena sysex entrante podría ser perfectamente un comando enviado por MIOS host,por lo que el sistema operativo debe estar ahí atento para tomar las riendas o para dejar pasar los datos a la aplicación.

Agusto me he quedao con el tostón que he soltao :mrgreen:
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 03 de Octubre de 2007, 05:50:20
toma ya¡¡¡¡ agusto te has quedado  :mrgreen:
donde puedo encontrar informacion sobre como programar el micro por la usart, cada vez me gusta mas la idea de poder actualizar el soft sin tener que quitar el pic del circuito  :-)

dejo un enlace por si no lo conocian, seguro que por lo menos se rien con el humor del individuo que lo escribió  :mrgreen:
http://www.borg.com/~jglatt/


y a seguir buscando el fallo en el programa "otro dia movidito"
un saludo y gracias
Título: Re: del papel al circuito midiScratch
Publicado por: Modulay en 03 de Octubre de 2007, 17:02:33
Para programar el micro vía serie necesitas usar un bootloader con su correspondiente downloader.
Yo antes de meterme en esos berenjenales,procuraría buscarle solución al problema que tienes ahora.
Por cierto ¿R25 es de 100 ohmios?
Título: Re: del papel al circuito midiScratch
Publicado por: Modulay en 03 de Octubre de 2007, 17:06:47
Ahí va una imagen del aspecto que va teniendo la emulacion de la mackie control :-)

(http://img505.imageshack.us/img505/9466/emucontrolxo8.jpg)
Título: Re: del papel al circuito midiScratch
Publicado por: Leon Pic en 03 de Octubre de 2007, 17:09:38
Hola Modulay. La verdad que está de lujo. Felicitaciones.

Saludos.  :-/ :-/
Título: Re: del papel al circuito midiScratch
Publicado por: Modulay en 03 de Octubre de 2007, 17:57:08
Gracias Leon.
La gestión de los puertos midi me está dando algún problemilla,por lo que debo desconectar al secuenciador del midi-out (que sería el midi-in de emucontrol) previamente a ejecutar Emucontrol,ya que al cerrar Emucontrol,también cierro el puerto midi,y eso no le sienta bien al secuenciador,hasta tal punto que se queda colgado si no le desconecto de dicho puerto antes de volver a ejecutar Emucontrol.
Veremos sin consigo solucionarlo.
Saludo
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 04 de Octubre de 2007, 04:54:28
hola, te esta quedando estupenda  :mrgreen: y si, R25 es de 100 ohm. si quieres desde el privado te cuento como abrir mi archivo de eagle jeje , pero tienes el circuito original en ucapps, modulo core (http://www.ucapps.de/mbhp/mbhp_core_v3.brd)
ya se que estaba haciendo mal, mil gracias a todos los que me ayudaron. Eran los fuses que por alguna razon el programa de Brenner no los configura, hay que hacerlo desde el mplab, que se le va a hacer.De momento he podido probar un programitas para encender unos leds.
A seguir donde lo dejé y ver que sale  :-/

esta es la linea que le faltaba al programa:
;-------------------------------------palabra de configuracion--------------------------------------
__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC&_BODEN_ON&_LVP_OFF
;-------------------------------------------------------------------------------------------------------
voy a dejar la programacion por la usart.... de momento. Pero ya les preguntare a todos ustedes donde encontrar info de como hacerlo.

gracias y un saludo
Título: Re: del papel al circuito midiScratch
Publicado por: stk500 en 06 de Octubre de 2007, 10:40:13
Hola amigos !
Muy interesante lo que ustede hacen, cual quier pregunta de electronica aqui estoy para ayudar :D
de seguro
aqui quisiera dejar algo interesante a lo que DJ y musicaa se refiere y respecto a MiIDI!
Pues miren esto link y se sorprenderan lo que hace el protocolo DMX en el mundo artistico
Escenico :-)
http://www.dmx512-online.com/
y que todos Kit Facil de contruir :D
http://www.bpesolutions.com/product.html#anchor216597
Yo encuentro super Genial lo AudioVisual!
Que opinan?
 :mrgreen:
 
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 14 de Octubre de 2007, 06:39:41
pues está siendo mas dificil pasar del papel a la realidad , de lo que habia pensado pero bueno aqui estoy, a base de darle vueltas al coco va saliendo.
He tenido que modificar mucho el programa pues casi todo lo que funcionaba en el simulador no lo hacía en el chip  :?  esto pasa por confiar en las nuevas tecnologías y no haber comprado un entrenador en su momento.

abrir el asm y mirarlo por encima, esta echo para que envie por la usart caracteres ascii y así poder ver en el visor de isis que esta pasando realmente, para que envie midi habria que cambiar una call en el inicio del programa, está indicado
otro valor que se puede modificar es el tiempo en que tarda en saltar stop que esta controlado por el tmr0 asi si se frena el vinilo por cualquier causa mientras esta andando, tarda x miliseg. en saltar
una preguntica por si alguien sabe responderme, cuando se envia un dato midi habra que esperar a que el aparato que lo recibio haga algo con ese dato, alguno conoce cuanto tiempo es necesario entre dato y dato
si se envia C mayuscula empieza a andar y si es S se detiene
C-continue (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.3)
S-stop (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.4)
T-timing clock (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.1)
R-active sensing (http://www.eumus.edu.uy/docentes/jure/midi/#2.3.5)
E-estatus seguido de dos bytes que forman el SPP (http://www.eumus.edu.uy/docentes/jure/midi/#2.2.1)

un saludo y gracias
Título: Re: del papel al circuito midiScratch
Publicado por: RedPic en 14 de Octubre de 2007, 15:00:11
JCC40 (http://www.todopic.com.ar/foros/index.php?action=profile;u=9883;sa=summary): ¿Eres el mismo usuario que JC40 (http://www.todopic.com.ar/foros/index.php?action=profile;u=7981)?  :shock:
Título: Re: del papel al circuito midiScratch
Publicado por: RedPic en 14 de Octubre de 2007, 17:42:43
Ah. ¿Y como es eso de usar otro Usuario casi idéntico al anterior? ¿Has perdido la clave acaso?
Título: Re: del papel al circuito midiScratch
Publicado por: RedPic en 15 de Octubre de 2007, 02:01:33
Ok. Lo investigaré.
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 15 de Octubre de 2007, 07:13:39
Citar
no mencionas si tus vinilos y encoders son unidades que ya tienen implementación MIDI (y sus parámetros) o si estás haciendo algún sistema por tu cuenta modificando algo. Generalmente este tipo de proyectos es mejor iniciarlos por su cuenta desde cero, que estar modificando código ya existente de otro autor. Si sólo ocupas posicionamiento de unidades MIDI (esclavo-maestro) no deberías ocupar un sistema como MIOS - a menos que te interese usarlo. ¿tus unidades son SMPTE, por incremento de ticks (quarters), o manejan MIDI custom?

hola, hago como dices, es un sistema desde cero no utilizo mios, todavia no comprendo como funciona como para crear aplicaciones para él. y por supuesto que no es un codigo que esté modificando, lo he hecho desde cero. con la ayuda del foro claro :mrgreen:
con respecto a lo de los encoders y vinilos no tienen grabado el codigo smpte o mtc simplemnte son dos señales de 47.8Hz desfasadas 90º grabadas a 120bpm lo que da 6 pulsos por negra. Segun la direccion y velocidad que lleve, el micro envia continue, stop, o el SPP la info la he sacado de aqui  (http://www.eumus.edu.uy/docentes/jure/midi/) funciona por incremento de ticks, basado en la norma midi 1.0
(http://alogic.on.googlepages.com/codigo-cuadrado.jpg/codigo-cuadrado-medium.jpg)esta es una vista del codigo ampliado, lo que uso es un preamplificador para adaptar las señales al pic, en el caso del encoder lo he echo a semejanza del vinilo con un convertidor a RIAA y despues lo paso a TTL con el mismo preamp que el del phono ya pondre los esquemas cuando los acabe de probar de momento uso el encoder directamente sin  los filtros

Citar
Nunca confíes en simuladores para proyectos reales. Por lo demás, Microchip tiene una amplia gama de PICDEM (pequeños demostradores/entrenadores/programadores) de muy bajo costo.

 hace un año que estudio asm. nunca antes habia programado nada, al empezar me recomendaron que si queria programar y el tema de montar circuitos ya lo tenia solucionado, pues que me dedicase a programar y no perder el tiempo con el diseño de circuitos, que usara un simulador para las practicas, le hice caso :( y que cuando viese el momento ir metiendo la realidad en mi pequño mundo, por decirlo de alguna forma.Visto la poca confianza que me han dado estos simuladores no los vuelvo a usar. Lo que si encontre fue la web de uccaps en la cual hacen todo por lo que a mi me pico el gusanillo de la programacion de pics. Asi he modificado la placa core que ellos utilizan para usarla yo con mis practicas, y no tener que gastar dinero en algo que puedo montar, así en ello estoy, pasando del papel al circuito   :mrgreen:
(http://alogic.on.googlepages.com/midiscrtche.jpg/midiscrtche-custom;size:532,266.jpg)
si teneis alguna duda en como funciona o algun aporte de como deberia de hacerlo estoy encantado de que lo comenteis, asi podria comparar como solucionar algun bug desde otro punto de vista o algo que no se me ocurra por supuesto explicare gustoso cualquier duda si está en mi mano

voy a darle una miradita a ese proyecto de dmx que has echo, seguro que encuentro algo que me guste,jejej

un saludo y gracias
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 20 de Octubre de 2007, 10:02:21
Hola aqui estoy , esto empieza a parecer 'diario de un proyecto' pero creo que los avances lo merecen por lo que les dejare los archivos en un rar para que puedan probarlos y contarme que les pareció. hace unos dias poniendole el regulador de velocidad para el motor me cargue dos pics haciendo pruebas. ya lo he solucionado, pero no tengo mas pic´s a mano de 16f877 solo un 16f88 con el que probar , y la verdad es que con el otro me sobraban muchas patillas para lo que estaba haciendo, asi que he cambiado el codigo para usarlo con el 16f88 todo perfecto compila y trabaja.
he añadido una spi por soft (la comento en otro post) para manejar 14 disp de 7 segmentos, utiliza 74595 que son reg de desplazaminto serie/paralelo/serie siete de ellos son para saber en que posicion del secuneciador se encuentra el vinilo y los otros siete la posicion de cue donde comienza el secuenciador pulsando rb6. rb7 empieza desde cero, reset
en el otro programa el tiempo que tardaba en saltar stop estaba regulado por soft. en este se regula usando el CAD esta puesto como pote A en el isis, usa la conversion a digital para regular el tiempo que tarda en saltar stop cuando se detiene el vinilo, de la misma forma se utiliza el cad para regular la posicion de cue y visualizarlo en los displais, pote B regula el MSB y el pote C regula el LSB
  ya saben si tienen algo que añadir estare encantado de verlo

mmmmmfff se me habia olvidado incluir aunque sea una fotillo del simulador
(http://midiscratch.pbwiki.com/f/midiScratch.jpg)


un saludo y gracias
Título: Re: del papel al circuito midiScratch
Publicado por: stk500 en 21 de Octubre de 2007, 00:23:42
 :-/ te felicito amigo
pero que muy bien!
sabe! me gustaria tambien saber como implementarlo para mezclar Señales DMX, todavia no es tenido tiempo de estudiar tus ejemplos que me enviaste, tu :lol: tu sabe estoy muy ocupado con mi DMXpack que aun espero mi Zipzocaloaunque intento programarlo en circuitos
me da error :?  pero nada hay que tener paciencia y la tengo :-)
Te deseo suerte amigo
 :-/
saludo
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 01 de Diciembre de 2007, 13:58:58
hola
voy a poner otro proyecto en este hilo del forum, ya que tiene que ver con midi y se utiliza el circuito que comente al principio del post como placa base del proyecto. Lo he llamado controLogic  :D :D  utiliza multiplexadores 4051 para conectar 8 potenciometros en paralelo a cada entrada analogica del pic, asi que son 64 controladores. Ya hay muchos proyectos asi por la red y aqui uno mas para el que quiera enredar con el midi. el unico requisito es si se utilizan menos potes poner a tierra las entradas que se queden libres , por los ruidos y eso

este es el circuito de los multiplexadores AIN (http://www.ucapps.de/mbhp/mbhp_ainx4_v2.brd)
(http://www.ucapps.de/mbhp/mbhp_ainx4.jpg)

y desde aqui "un saludo y gracias" a todos los que me habeis ayudado con este (http://www.todopic.com.ar/foros/index.php?topic=19461.msg140603#msg140603) proyecto y claro tambien a los demas :D :D
Título: Re: del papel al circuito midiScratch
Publicado por: stk500 en 01 de Diciembre de 2007, 15:06:06
 :-/ :-/ :-/ En horas Buenas Fito :D :D :D
por fin lo Lograste :-/ :-/
me alegro tio :D :D
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 03 de Diciembre de 2007, 16:58:44
bueno como soy un culo inquieto, que no estaba agusto solo con los potenciometros le he puesto un teclado de 64 botones usando registros de desp 74165. el circuito usado es este DIN (http://www.ucapps.de/mbhp/mbhp_dinx4_v2.brd)
(http://www.ucapps.de/mbhp/mbhp_dinx4.jpg)
la rutina del teclado  lo que hace es al pulsar un boton envia note_on y cuando se suelta note_off
y ya sabeis si se ocurre algo que ponerle, comentarlo y a ver que sale  :mrgreen:
(http://midiscratch.pbwiki.com/f/IMG_2085.JPG)
un saludo
Título: Re: del papel al circuito midiScratch
Publicado por: alogic.on en 07 de Enero de 2008, 19:09:28
hola a todos
al final termine mi proyecto,  :-/ :-/ ala que lo disfruten :mrgreen: :mrgreen:

un saludo y gracias
Título: Re:del papel al circuito midiScratch
Publicado por: kapotik en 11 de Diciembre de 2015, 20:29:46
Buenitas! no se si aun estes por aqui alogic, me interesa armar tu proyecto pero tengo algunas dudas, no se si faltan algunas respuestas en el hilo por que no logro entender, por ejemplo he descargado los dos archivos que posteaste y uno no tiene relacion con el otro, y tampoco entiendo donde va el encoder, si es que lleva uno.
 Espero puedas ayudarme ya que como dije me interesa armarlo.

Saludos
Título: Re:del papel al circuito midiScratch
Publicado por: elgarbe en 11 de Diciembre de 2015, 20:53:51
ultima vez activo: 31 de mayo de 2014

creo que ya no anda por acá....
Título: Re:del papel al circuito midiScratch
Publicado por: kapotik en 11 de Diciembre de 2015, 21:15:46
si, yo me imagine lo mismo, pero a lo mejor alguien lo habia entendido y me ayudaba... :)