[APORTE] Joystick USB (6 ejes - 32 Botones - Hat Switch) + PCB & Firmware.

#21
Hola:

¿Usas el C18 oel CCS?

El RS232 es anticuado y lento. Aún así, muchas industrias lo usan. Es mejor que el USB una sóla cosa, el problemas de ruidos en zonas industriales, no les afecta como si los USB.

Con el tiempo aparecerán USB 3.0 en los PIC, espero que no sea otro mundo de programarlo y menos complicado.

El tema del LCD es más fácil de lo que crees, ejjejej, ya verás.

Gracias por responder campeón. ;)
 
#22
Meta estudia el tema con Google, vas a ver que no es nada dificil después que entendes los conceptos basicos, como el tema de los descriptores, los endpoint, clases... etc.
Yo en dos dias de lectura ya consegui hacer mi propio gamepad con 10 analogicos, 32 botones y hat switch, la parte del pic la programé en Proton...
Aunque se vaya un poco del tema, estás armando una placa de adquisicón usb?
Para que la necesitas con lcd? porque si buscas lcd usb backpack ya esta hecho.
 
#23
Hola:

¿Usas el C18 oel CCS?

El tema del LCD es más fácil de lo que crees, ejjejej, ya verás.

Gracias por responder campeón. ;)
Uso CCS, espero tener oportunidad de trabajar con una LDC asi, solo he practicado con una 16x2.



Yo en dos dias de lectura ya consegui hacer mi propio gamepad con 10 analogicos, 32 botones y hat switch, la parte del pic la programé en Proton...
con respecto las 10 analogas, tienes que crear un software o alguna interfaz; ya que windows no reconoce un gamepad o joystick con mas de 6 entradas analogicas(en 10bits) ó 8 (en 12 y 16 bits).
por si quieres intentar con mas de 32 botones tienes que usar el UVmaper(creo que se llama asi), porque windows tampoco reconoce gamepads o joysticks con mas de 32 botones.
 
Última edición:
#24
Lo de los 32 botones lo sabia, lo que me suena raro es lo que me comentàs de los analogicos... No me cierra que:
10 bits = maximo 6
12 y 16 bits= maximo 8
O sea que si uso 24 bits meto diez? jaja ;)
En 8 bits hay limite? yo lo estoy probando con 8 canales de 8 bits y funcionaron todos, mas adelante voy a editar el descriptor.
 
#25
Lo de los 32 botones lo sabia, lo que me suena raro es lo que me comentàs de los analogicos... No me cierra que:
10 bits = maximo 6
12 y 16 bits= maximo 8
O sea que si uso 24 bits meto diez? jaja ;)
En 8 bits hay limite? yo lo estoy probando con 8 canales de 8 bits y funcionaron todos, mas adelante voy a editar el descriptor.
lo que pasa es que los PICs que tienen resolucion a/d de 12 y 16 bits son muy caros y son de superficie(lamentable), la resolucion de 10 bits es la recomendable, si usas 8bits entre paso y paso hay una brecha grande(si lo vas a usar para un simulador).

por ejemplo, los volantes logitech G25/27 utilizan recolucion de 16bits y los momo de 12 bits con micro controladodes de superficie, por eso la conduccion es muy real.

ojala se pudiera usar una resolucion de 24bits, esperar que Microchip saque un DSPIC con esas caracteristicas y que maneje USB
 
#28
Fernadoae seria posible que compartieras por lo menos una parte de el codigo realizado en proton para que los que no tenemos experiecia con usb tratemos de entender el concepto el cual tu ya manejas gracias
 
#32
Ahora mismo lo comparte, ejejjjjee.

No se que pasa, desde hace tiempo es difícil que compartan códigos basados en USB. Eso si, cada vez y con el tiempo, lo terminan haciendo.

Cosas que pasan.
 
#33
Eso depende de cada uno, yo por ejemplo comparto cualquier proyecto por mas pequeño que sea, tengo esa filosofía.
Esto es lo que tengo hecho, usenlo a gusto... lo unico que les pido es que citen al autor por si alguien me quiere contactar o cosas asi ;)
El código está hecho para un pic 18F2550 con cristal a 4Mhz que es el más común y seguro que todos tienen uno, si lo quieren para otro modelo de pic es sencillo de hacer en Proton.
En el ejemplo estan implementados un par de ejes solamente ya que es una prueba, pero cada uno que lo adapte a sus necesidades...
 

Adjuntos

#36
Ah es que practicamente ni uso los simuladores, por ahi me ha pasado que las simulaciones fallan y en la realidad no tengo problemas, por eso, prefiero la realidad :D
Igual ese hex usa AN0-3 para los ejes y hace titilar un led para mostrar que el dispositivo fuè enumerado correctamente.
Cada uno que lo modifique a gusto, es sencillo programar en Protón... y el código está bien comentado.
BOTONES= valor de 0 a 255
EJES= valores de -127 hasta 127
POV= 0 a 4

Erick, como podés hacer lo de las salidas digitales con hid? que tenés que usar en el descriptor? se podrá hacer un dispositivo compuesto que sea gamepad y a su vez me de algunas salidas? para un simulador estaria bueno para hacer algo como lo que hice acá para las rpm's por puerto paralelo:
 
#37
Erick, como podés hacer lo de las salidas digitales con hid? que tenés que usar en el descriptor? se podrá hacer un dispositivo compuesto que sea gamepad y a su vez me de algunas salidas? para un simulador estaria bueno para hacer algo como lo que hice acá para las rpm's por puerto paralelo
Bueno fernandoae...
aunque se ve muy lindo el hecho que obtengas los RPMs por medio de leds, estoy tratando de hacer algo (tambien por USB) para que por medio de unos servomotores muevan las manecillas de algun tacometro. pero todavia no me sale nada...
aunque en http://www.xtremeracers.info/forums/viewtopic.php?f=84&t=9058 encontraras un display que puede hacerlo, utilizando un 18f4550, y tiene una cantidad de funciones extras que no imaginarias.(lo malo es que no funca con LFS)

yo tambien corro en Live for Speed, mi usuario es "Ericktronik"
y tengo un equipo de racing y drifting.
aca puedes ver algunas fotos de mi equipo:
http://www.facebook.com/media/set/?set=a.315953051782667.78283.150076695036971&type=3
 
#38
Yo creo que se como hacerlo, negociemos jaja, vos enseñame a mandar datos desde la pc al pic con hid (digo hid porque es lo que no me ha dado problemas con los benditos 64 bits, porque en xp lo tengo solucionado, envio y recibo :D)... y yo me encargo de tus servos, tengo bastante boludeo invertido en el tema de leer datos de simuladores (quiero leer el force feedback para hacer un buen volante, todavia no me animo al usb PID physical interface device que si lo hace).
 
#40
Erick, sabés que usando los bits que sean el limite es 8 analogicos, tenes idea de como hacer para que lo tome como dispositivo compuesto usb y permita que el mismo pic aparezca como 2 o mas gamepads?
 
Arriba