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

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?

pensaria que repitiendo el codigo y poner otro nombre, de tal manera que multiplexe los dos codigos muy rapido, con cristal de 20mhz me pareceria bueno.

aunque no se si eso funcione, es como la solucion mas superficial.
 
Buenas gente! les muestro unas fotos de lo que he hecho estos dias, armé el gamepad usb con 32 botones y 5 analógicos y le puse dos fichas, una db9 para la parte de los analógicos(con + y -), y una db15 para la matriz de botones... usé una disposición de 8*4 para aprovechar el puerto B como entrada con pullups para simplificar mas el circuito.
En fin, quedo bien simple, el circuito está compuesto por el pic, el cristal, el capacitor y las dos fichas :D
Lo bueno de hacerlo asi es que se puede usar un solo pic para conectar lo que sea a la pc... yo lo tengo funcionando con mi pad arcade casero, funciona de lujo y respecto a la simultaneidad de teclas... va perfecto, se pueden pulsar 32 botones y los detecta a todos.Esa es la ventaja respecto a usar un hack de teclado, ademas de la velocidad de respuesta(el pic envia cada 4 milisegundos).
Ah y si tienen un padre al que le gusta el tetris ni le muestren el invento ;)
 

Adjuntos

  • MI ARCADE (1).jpg
    MI ARCADE (1).jpg
    96.8 KB · Visitas: 208
  • MI ARCADE (4).jpg
    MI ARCADE (4).jpg
    93.2 KB · Visitas: 214
  • PAD MAME (10).JPG
    PAD MAME (10).JPG
    180 KB · Visitas: 178
  • PAD MAME (15).JPG
    PAD MAME (15).JPG
    190.1 KB · Visitas: 167
  • PAD MAME (30).JPG
    PAD MAME (30).JPG
    160.2 KB · Visitas: 184
  • ULTIMAS   (2).JPG
    ULTIMAS (2).JPG
    141.1 KB · Visitas: 164
  • ULTIMAS   (27).JPG
    ULTIMAS (27).JPG
    175.2 KB · Visitas: 163
  • ULTIMAS   (25).JPG
    ULTIMAS (25).JPG
    257.1 KB · Visitas: 193
  • ULTIMAS   (23).JPG
    ULTIMAS (23).JPG
    175 KB · Visitas: 174
Buenísimo.

Lo del Tetris me chifla con PIC,ajjajjaa.
http://www.colinfahey.com/tetris/tetris_es.html

Lo bueno es crear cosas con PIC señales de vídeo para hacer cosas, lo hacen en ASM, aún no he visto un Tetris o decir ¡Hola Mundo! con el lenguaje C almenos con un 16F88 aunque sea, ya que tiene más memoria que el 16F84A.

modo0c.JPG


https://www.forosdeelectronica.com/f24/generar-senal-video-ntsc-usando-pic-15460/
 
Se qu eel 18F es bueno para señales de vídeo a 16 colores máximo he visto. ¿Lo de interfaz del puerto paralelo te refieres del 18F2550?

No lo tiene, lo tiene el hermano mayor PIC18F4550. Lo pone en la hoja de datos.

Para vídeos a todo color comoun movil son los PIC32, ya los vende tipo DIP y de 28 y 40 patillajes.

Tengo el 18F2550 y el 18F4550 para hacer temas de vídeos. El problema quien es capaz de pasar el ASM al C así sin más, menuda paciencia.
 
me gustaria hacer un mixer para el virtual dj con esto, he visto muchos que modificaban un gamepad comercial pero me gusta mas esto. Puedo poner en una entrada analogica un potenciometro como el scroll del mouse (no tiene fin) para hacer de bandeja?
 
Saludos....

una pregunta....

como se definen los descriptores para un hat-switch de 8 posiciones?....

segun el msdn de windows seria asi:
Código:
    RETLW  0x09  
    RETLW  0x39                     ;     USAGE (Hat switch) 
    RETLW  0x15  
    RETLW  0x00                     ;     LOGICAL_MINIMUM (0) 
    RETLW  0x25  
    RETLW  0x07                     ;     LOGICAL_MAXIMUM (7) 
    RETLW  0x75  
    RETLW  0x08                     ;     REPORT_SIZE (8) 
    RETLW  0x95  
    RETLW  0x01                     ;     REPORT_COUNT (1) 
    RETLW  0x81  
    RETLW  0x42                     ;     INPUT (Data Var Abs Null)

donde:
0 es norte
1 es noreste
2 es este
3 es sureste
4 es sur
5 es suroeste
6 es oeste
7 es noroeste....

pero no me queda... solo me reconoce de 4 posiciones norte, sur, este y oeste... :(

me podrian orientar.... que le falta?
 
Hola Meta.....

EL Link donde supuestamente dice como es, es este(ver tabla 2), y en este encontraras un manual muy completo.... de echo creo que es el oficial no estoy seguro :D
 
Última edición:
Hagamos un descriptor para un gamepad compuesto!!! estaria bueno que tome al pic 18f2550 como si fuesen 2 o 3 gamepads para evitar la limitacion de 8 analogicos y 32 botones por gamepad... porque para uno solo es pic de sobra.
 
:unsure: si se puede fer....

no lo he echo pero supuestamente se tienen que dar de alta ambos descriptores(de los dos dispositivos)...

con esta herramienta es relativamente sencillo elaborarlos...

pero no sean malas gentes ayudeeeeenme con eso del HAT.. que no? :D



No habia visto esto ni si ya publico el codigo completo.... eh!

Ericktronik Dijo->

Lamento decirte que no publicare el codigo fuente, es de uso privado.
El PIC-C traduce de .hex a C(aunque nunca lo he hecho).

No publico el diagrama ya que publique dos versiones de la tarjeta.

:LOL: como me dan risa aquellos que primero se roban el trabajo de los demas y despues lo hacen "PRIVADO"

Lo siento Erik pero estas mal.... aunque estas en todo tu derecho de no dar lo de los demas... :D
 
Última edición:
Si se que se puede... pero no se como se hace :D
Esa herramienta la bajé hace tiempo, pero me falta estudio para poder hacer un descriptor compuesto... repitiendo el descriptor al final del primero funcionará? :D que se yo, por proponer algo!
Yo después pruebo lo del hat de 8 posiciones, tengo el codigo en proton ide.

PD: probá con el código que subi mas atras, esta en proton y funciona perfecto :D y es open source hecho casi todo por mi ;)
 
Última edición:
Oki... fer deja checo eso de tu codigo, y de paso leo este tema completo... :D

deja ver si encuentro donde lei eso de poner mas de un dispositivo... ya me entro mas curiosidad :unsure:... empiezo a trabajar en ello y si lo logro lo comento por aqui... saludos!



Fer....

del manual que puse checa el apartado A5 el que dice multiples instancias de control... te pude servir... (fue donde lo lei y no lo he probado)
 
Última edición:
a ver...

ya me confundi :D... dices que de un pic se hagan 3 game pads.... hasta ahi ok...

entonces con el 2550 si no me equivoco tiene 24 puertos menos los 6 analogos para los ejes X e Y de cada uno, nos quedan 18 digitales para los 3, entonces le quedan 6 digitales para cada uno...

entonces lo que yo propongo segun lo que puse es que se haga un control con 3 instancias de control(x e Y) y 18 botones... y pues lo unico es que los botones y los potenciometros se pongan en tarjetas diferentes... si me explique? o no va por ahi la idea....
 
Para algo estan los multiplexores analogicos como en 4051 (ocho entradas a una) y los registros de carga paralela y salida serie :) yo quiero dos o mas gamepads con ocho analogicos y 32 botones cada uno... para que no se, pero es para decir "se puede hacer en casa"..
Bahh en realidad si se para que... es para armar un pad de mame como el que puse arriba pero para 4 jugadores con muuuchos botones por jugador, entrada para el contador de fichas, botones para salir del juego, seleccionar, que se yo... lo que se me ocurra.
 
Atrás
Arriba