Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

15/07/2013 #301


He tratado de comunicar mi pic 18f4550 con virtual empezando con un botón pero no logro hacerlo trabajo en ccs alguna ayuda este es mi código:
Código:
#include <G-PIC Lite!.c>
#fuses hspll,nowdt,nomclr,noprotect,nolvp,nodebug,usbdiv,pll1,cpudiv1,vregen
#use delay(clock=48M)
#define USB_CONFIG_HID_RX_SIZE   16
#define USB_CONFIG_HID_TX_SIZE   16
#DEFINE USB_HID_DEVICE TRUE
#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_TX_SIZE 16
#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_RX_SIZE 16
#include <pic18_usb.h>
#include <usb_desc_hid.h>
#include <usb.c>
int out_data[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
void main()
{
   usb_init ();
   enable_interrupts (global);
   enable_interrupts (INT_usb);
   usb_wait_FOR_enumeration ();
   output_high (PIN_B6);
   WHILE (true)
   {
   if (usb_enumerated())
   {
   usb_task();
   if (input(pin_b7)==1)
   {
      usb_put_packet(1,out_data,16,USB_DTS_TOGGLE);
      delay_ms(50);
   }
   
      }
   }

   }
si alguien puede ayudarme o lo estoy haciendo mal plis.
todo por HID
16/07/2013 #302


Hola JABE:
No me he mirado muy a fondo el código, pero veo que dentro del bucle while, en el momento que pin_B7 está a "1" lo envías por usb, pero nunca envías cuando está a cero.
Por otra parte, falta el reporte HID para ver si está bien definido el botón.
Nunca he probado HID en Virtual Dj, pero bueno, mira este par de cosas.
Saludos
18/07/2013 #303


quería hacerles una pregunta, quizá tonta, pero soy mas teórico que "constructor", diseñé un aparato midi para un proyecto en mi universidad (no se si conocen el theremín), la cosa es que me pillo con esto y me pareció interesante la comunicación por USB, entonces quería preguntarles: en el PCB de mi circuito, el chasis del conector USB lo conecto con mis 0[V]??? Tengo una confusión con ello, porque todo mi circuito es alimentado con un transformador de punto medio, y precisamente el punto medio lo tengo conectado a tierra, entonces no se si eso afectará y haré un cuete gigante en mi notebook.

(es mi primer post, pero siempre leo este foro)
24/07/2013 #304


Si tienes dudas déjalo sin conectar. Yo no lo conecto. Si no me equivoco, la carcasa del conector va unida a la malla del cable USB y ya hace contacto en el lado del PC, así que en la placa no lo conectes.
Si estoy equivocado me pueden corregir.
Un saludo
24/07/2013 #305


justamente ayer conversando con un profesor me dijo lo mismo, que no los conectara, porque en el notebook podría hacer un cuete y decidí usar un optoacoplador en el conversor AD...
Por lo demás rachelies, estuve probando tu programa para la comunicación usb, y funcionó muy bien a la primera. Decidí tu descriptor que está muy bueno, yo tenía todo escrito directamente en el programa principal. (hace poco comencé a programar en C y hay muchas cosas que no conozco. En este tema recién me enteré que era un descriptor )
24/07/2013 #306

Avatar de Nuyel

El chasis si va conectado a tierra en la computadora, pero en el dispositivo no debería, o se hace a través de una resistencia ya que no debe transportar corriente, esta debe ser centralizada a la fuente (la computadora que es la que alimenta el USB) así se asegura que la malla cumpla con su función.
Pero bueno, esto hablando de un cable USB correcto, por que he visto unos baratos sin malla donde ya no importa ya que el chasis queda aislado.
28/07/2013 #307

Avatar de dinoelectro

hola companeros, al igual que jabe no consigo comunicar VIRTUAL DJ con mi dispositivo HID programado con el PIC18F4550, me han dicho que si el sistema operativo es de 64 bits no va funcionar... ¿es eso cierto?
29/07/2013 #308


Eso es falso, porque el mio es el windows 7 64bits y funciona. Lo complicado es hacerlo funcionar por el tema de los mappers y todo eso. Al final lo dejé porque era bastante fastidioso, mucho más fácil con el Traktor
29/07/2013 #309


Exacto, yo probe los programas que subieron acá en un 18F4550 y en un 18F2550 y funcionan la mayoria (los que están pulidos) y tengo windows 7 de 64 bits y en notebook, ademas han funcionado en todos los computadores que probé. Un detalle para el que le sirva, de todos los programas que probé, el mas simple para recibir las señales midi es el FRUITY LOOPS. No hay que configurar nada, y los potenciometros los puedes asignar a cualquier pista con solo moverlos + 1 click
29/07/2013 #310

Avatar de Daniel Meza

Saludos, muy interesante el tema... (y muy extenso para leerlo todo, solo he leído los últimos comentarios).

Apenas ando terminando un proyecto similar pero para controlar Traktor, como interfaz utilizo Arduino UNO, el cual se encarga de recibir datos serie enviados por un PIC16F73 para posteriormente enviarlos vía USB a la computadora. En la computadora, aparte de estar corriendo el traktor, utilizo otro programa (LoopBe3) que recibe los datos desde el puerto USB y los envía a un puerto MIDI virtual que finalmente se comunica con el Traktor.

Aquí es donde tengo un "problema", este programa LoopBe3 lo descargué como versión de prueba y después de 60 min caduca y el puerto virtual se cierra. Entonces quisiera saber si ustedes conocen algun otro programa para generar puertos MIDI virtuales sin la limitación temporal (si no los hay, tendré que comprar la versión de paga de LoopBe3). Utilizo W7 con 64 Bits.

PD. Si ya hablaron de esto en el tema por favor si pueden dirigirme al post donde lo trataron

30/07/2013 #311

Avatar de Nuyel

Sabes el Arduino Uno se puede programar para aparecer como MIDI-USB así que no necesitarías usar la interfaz virtual, lo que necesitas es cambiar el firmware del ATmega16u2 que controla la comunicación.
30/07/2013 #312


¿Y no te merece más la pena enviar los datos MIDI directamente al USB? Supongo que en el Arduino se puede hacer.

Nuyel, hemos pensado lo mismo a la vez, jajajaja
30/07/2013 #313

Avatar de Daniel Meza

rachelies dijo: Ver Mensaje
¿Y no te merece más la pena enviar los datos MIDI directamente al USB? Supongo que en el Arduino se puede hacer.

Nuyel, hemos pensado lo mismo a la vez, jajajaja
Nuyel dijo: Ver Mensaje
Sabes el Arduino Uno se puede programar para aparecer como MIDI-USB así que no necesitarías usar la interfaz virtual, lo que necesitas es cambiar el firmware del ATmega16u2 que controla la comunicación.
Gracias por responder, verán esa es una solución pero lo que pasa es que en un futuro pienso quitarle el Arduino y utilizar un FT232 para hacer la conversión RS232-USB. Por eso me interesa más un programa que esté en el ordenador

Saludos
30/07/2013 #314

Avatar de Nuyel

Pues el LoopBe1 es gratuito, solo que se limita a un dispositivo pero no tiene limite de tiempo, por que de otra manera no se si solo es cosa mía pero conseguir un PIC18F4550 para usar la comunicación USB de este en lugar del FT232 y emplearlo para el procesamiento en lugar del PIC16F73 podria ser más económico ($4.50 + $8.69 = 13.19 comparados con los $5.82 del PIC18F4550)
30/07/2013 #315


Y si no necesitas tantos pines, yo he utilizado un 18F2455 que es más barato aún.
30/07/2013 #316

Avatar de Daniel Meza

Nuyel dijo: Ver Mensaje
Pues el LoopBe1 es gratuito, solo que se limita a un dispositivo pero no tiene limite de tiempo, por que de otra manera no se si solo es cosa mía pero conseguir un PIC18F4550 para usar la comunicación USB de este en lugar del FT232 y emplearlo para el procesamiento en lugar del PIC16F73 podria ser más económico ($4.50 + $8.69 = 13.19 comparados con los $5.82 del PIC18F4550)

rachelies dijo: Ver Mensaje
Y si no necesitas tantos pines, yo he utilizado un 18F2455 que es más barato aún.
Muy bien, en realidad solo necesito un puerto así que creo este me servirá (y veo que si opera bajo W7 ).

Tengo a la mano dos PIC's con puerto USB, el 18F2550, y el 18F2450 y por su número de pines ambos me servirían bien salvo que aún no se programarles el puerto USB, verán que se me dificulta un poco el C, me voy más por el asm. Pero en un futuro seguiré su consejo de utilizar un PIC18 para ahorrar componentes.
Gracias por sus respuestas

PD. Seguiré al pendiente del post por si puedo aportar algo
30/07/2013 #317


El USB en asm...yo ni me lo planteo, jejeje. Si miras por el comienzo del hilo, sale todo explicado para manejar el puerto USB como si fuese un dispositivo midi, y así no necesitas el programa puente para convertir a MIDI. Eso sí, en lenguaje C de CCS. Yo creo que es bastante sencillo.
Un saludo
30/07/2013 #318

Avatar de Daniel Meza

Si la USB y asm es mucho muy complejo por eso me fui por el Arduino jeje, bueno por el momento ya descargué el LoopBe1 y quedó resuelto el problema del tiempo, ya me armé un djset de más de una hora
Saludos
30/07/2013 #319

Avatar de dinoelectro

rachelies dijo: Ver Mensaje
Eso es falso, porque el mio es el windows 7 64bits y funciona. Lo complicado es hacerlo funcionar por el tema de los mappers y todo eso. Al final lo dejé porque era bastante fastidioso, mucho más fácil con el Traktor
Hola rachelies ¿porque es fastidioso?, segun revice la informacion en la pagina de virtual DJ, dicen que HID es recomendable antes que midi.

mi dispositivo funciona bien con WIN7 de 32 bits pero en la portatil de 64 bits no puedo hacerlo funcionar.. que pudiera estar ocurriendo??
31/07/2013 #320


En HID no lo probé, pero en MIDI si, y tienes que hacer dos archivos en el virtual dj, el mappers y el devices si no recuerdo mal, donde (y te hablo de cabeza porque hace muuucho que no lo hago) tienes que declarar como variables en un archivo y hacer la llamada en el otro archivo para decir lo que hace esa tecla o conjunto de teclas. No es tan fácil como pulsar una tecla y que la detecte el vitual dj y asignarle una función como se hace en otros.
En HID puede que sea más fácil, no se.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.