Autor Tema: Joystick 8 ejes 32 botones  (Leído 36504 veces)

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

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 230
Re: Joystick 8 ejes 32 botones
« Respuesta #30 en: 20 de Septiembre de 2011, 16:40:24 »
Tavo, generalmente los compro en Buenos Aires cuando traigo para otros proyectos agrego algo para esto, por ahi en Quain en resistencia los consigues, yo creo que si, si no los consigues, me avisas y cuando pido algo te traigo para vos, no hay drama.

Cualquier cosas avisame nomas.

Saludos.
Alejandro.

PD: si queres tengo varias placas ya hechas sin componentes, asi no renegas.

Desconectado Tavo947

  • PIC10
  • *
  • Mensajes: 2
Re: Joystick 8 ejes 32 botones
« Respuesta #31 en: 22 de Septiembre de 2011, 10:37:19 »
Genial ale!!! Gracias por tu propuesta! habia pensado mandar el pcb a hacer en salta en un pibe de mendoza que sale en mercadolibre porque soy muy nuevito en esto (de soldar un par de resistencias, diodos y leds no paso todavia jajajajaja) Cambiando de tema, mirando en mercadilibre vi que se consigue un pic18f4550 que es de la misma flia que el 18f2550 pero que es de 40 pines y en formato DIP .

1)Seria posible sacarle mas ejes a este microcontrolador? cuantos?

2)todos los ejes de tu diseño original son de 10 bit?

3)Seria posible mantener la cantidad de ejes y botones aumentando la resolucion?

4)si fuera posible la pregunta 3, afectaria en algo a la performance del joy?

No es obligatorio responder pero me harias un gran favor.

Si queres para no ensuciar tu post con mis preguntas de Noob la segimos por mensaje privado.

Saludos!!!!!


Edit: Llame a quain radio y solo tienen hasta la linea pic16f, pic18f nada, hoy va un amigo a reisitencia asique los llame para ver que me podia traer de lo que necesita tu joy y solo conseguiria los diodos  :5]
« Última modificación: 23 de Septiembre de 2011, 14:03:18 por Tavo947 »

Desconectado eduardo2707

  • PIC10
  • *
  • Mensajes: 3
Re: Joystick 8 ejes 32 botones
« Respuesta #32 en: 26 de Noviembre de 2011, 20:04:29 »
lo mejor que encontre hasta ahora y que esta andando es ir reemplazando las partes por (Mando de gases y palanca), por un joystick, asi que use una arme una placa para 8 ejes y 24 botones, el firmware sirve hasta 32 botones, es mas facilmente se puede llegar a 64 botones,
Que lo disfruten.


Hola alejandro muy bueno tu proyecto y quisiera realizarlo para volar en el il2 tambien...mi pregunta es como debo cambiar la configuracion del HID  descriptor  para agregarle 8 o mas hat switch, lo eh intentado pero luego la computadora ya no lo reconoce...Solo lo eh simulador en Proteus 7.7...
Tengo otras preguntas que quisiera que ma ayudes...yo utilizo otra funcion para leer un teclado 4x8  pero no se como adaptarla para poder enviar el dato por USB...Pero bueno eso despues...


Este es el codigo que tu usaas para 8 ejes y 32 botones

Código: [Seleccionar]
const char USB_CLASS_SPECIFIC_DESC[] = {
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
    0x09, 0x04,                    // USAGE (Joystick)
    0xa1, 0x01,                    // COLLECTION (Application)
    0x05, 0x01,                    //   USAGE_PAGE (Generic Desktop)
    0x09, 0x01,                    //   USAGE (Pointer)
    0xa1, 0x00,                    //   COLLECTION (Physical)
    0x09, 0x30,                    //     USAGE (X)
    0x09, 0x31,                    //     USAGE (Y)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x03,              //     LOGICAL_MAXIMUM (255)
    0x75, 0x10,                    //     REPORT_SIZE (16)
    0x95, 0x02,                    //     REPORT_COUNT (2)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
    0xc0,                          //     END_COLLECTION
    0x05, 0x02,                    //   USAGE_PAGE (Simulation Controls)
    0x09, 0x01,                    //   USAGE (Flight Simulation Device)
    0xa1, 0x00,                    //   COLLECTION (Physical)
    0x09, 0xbb,                    //     USAGE (Throttle)
    0x09, 0xba,                    //     USAGE (Rudder)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x03,              //     LOGICAL_MAXIMUM (255)
    0x75, 0x10,                    //     REPORT_SIZE (16)
    0x95, 0x02,                    //     REPORT_COUNT (2)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
    0xc0,                          //     END_COLLECTION
    0x05, 0x01,                    //   USAGE_PAGE (Generic Desktop)
    0x09, 0x01,                    //   USAGE (Pointer)
    0xa1, 0x00,                    //   COLLECTION (Physical)
    0x09, 0x33,                    //     USAGE (Rx)
    0x09, 0x34,                    //     USAGE (Ry)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x03,              //     LOGICAL_MAXIMUM (255)
    0x75, 0x10,                    //     REPORT_SIZE (16)
    0x95, 0x02,                    //     REPORT_COUNT (2)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
    0xc0,                          //     END_COLLECTION
    0x05, 0x01,                    //   USAGE_PAGE (Generic Desktop)
    0x09, 0x01,                    //   USAGE (Pointer)
    0xa1, 0x00,                    //   COLLECTION (Physical)
    0x09, 0x36,                    //     USAGE (Slider)
    0x09, 0x37,                    //     USAGE (Dial)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x03,              //     LOGICAL_MAXIMUM (255)
    0x75, 0x10,                    //     REPORT_SIZE (16)
    0x95, 0x02,                    //     REPORT_COUNT (2)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
    0xc0,                          //     END_COLLECTION
    0x05, 0x09,                    //   USAGE_PAGE (Button)
    0x19, 0x01,                    //   USAGE_MINIMUM (Button 1)
    0x29, 0x20,                    //   USAGE_MAXIMUM (Button 32)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
    0x75, 0x01,                    //   REPORT_SIZE (1)
    0x95, 0x20,                    //   REPORT_COUNT (32)
    0x55, 0x00,                    //   UNIT_EXPONENT (0)
    0x65, 0x00,                    //   UNIT (None)
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
    0xc0                           // END_COLLECTION
 

El codigo que le agrego para 8 hat switch al final y luego ya no me reconoce el dispositivo

Código: [Seleccionar]

   0x09, 0x39,                    //   USAGE (Hat Switch)
    0xa1, 0x00,                    //   COLLECTION (Physical)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x25, 0x07,                    //   LOGICAL_MAXIMUM (1)
   0x35, 0x00,                  //   Phy Min (0)
   0x46, 0x3B, 0x01,            //   Phy Max (315)
    0x65, 0x12,                    //   UNIT (SI Rote:Angular Pos)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
    0xc0                           // END_COLLECTION
   };

 


Bueno muchas gracias  espero me puedas ayudar

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 230
Re: Joystick 8 ejes 32 botones
« Respuesta #33 en: 27 de Noviembre de 2011, 12:01:14 »
hola, para agregar el hat, tambien tienes que modificar la cantidad de datos que vas a enviar, en ello no tiene que haber error, si no, el sistema no reconoce el dispositivo, te dejo una pagina donde implementa el hat y explica tambien como armar el descriptor de modo que no de error...

http://helmpcb.com/electronics/usb-joystick

en esta pagina esta explicado como armar el descriptor, cualquier cosa me consultas, estoy complicado por estos dias, pero en lo que pueda colaboro.

Saludos.
Alejandro.

Desconectado eduardo2707

  • PIC10
  • *
  • Mensajes: 3
Re: Joystick 8 ejes 32 botones
« Respuesta #34 en: 27 de Noviembre de 2011, 22:48:35 »
Hola ok gracias lo revisare...

He modificado mi programa ..me eh basado en tu codigo y de otros  pero con tu mismo descriptor..
Estoy usando el pic18f4550 eh controlado 8 ejes y 24 botones,  pero mi programa esta hecho para  32 botones ...
Pues tu utilizas txusb[18]  para  enviar el byte de los botones del 17 al 24....  y envias

usb_put_packet(  1,txusb, 20, USB_DTS_TOGGLE);

yo leo otro byte para botones del 25 al 32  y se lo asigno a txusb[19]  y envio igual con

usb_put_packet(  1,txusb, 20, USB_DTS_TOGGLE);

Bueno reconoce el joystick pero no reconoce esos ultimos 8 botones...acaso tu descriptor stabas limitado para 24 botones?
Otra cosa..lei que windows solo reconoce 32 botones ...so le agrego los 8 hat switch ...tendria q ser 24 botones + 8 hat?  o puede ser 32 botones + 8 hat.....

Bueno muchas gracias por responder...mi codigo no te lo envio aun ....1ro leere el link q me pasaste

Desconectado eduardo2707

  • PIC10
  • *
  • Mensajes: 3
Re: Joystick 8 ejes 32 botones
« Respuesta #35 en: 28 de Noviembre de 2011, 04:38:18 »
Listo termine... con esa informacion ya logre agregar los hat switch, estoy ancioso  por probarlo en la practica...hasta ahora solo lo eh simulado en proteus 7.7 , pero tengo el problema que cuando lo cargo aveces agarra y aveces no...no se si sera falla de simulacion o de verdad hay algo malo en mi programa....

Respecto a q no enviaba el dato txusb[19] era algo muy tonto ..el problema era que no habia colocado bien el label en el proteus y no le llegaba los pulsos a la ultima fila para poder leerla....
Tambien agregue 1 byte mas para poder enviar los datos del hat   quedando txusb[21]

En el programa controlo 8 ejes  32 botones y 8 hat switch, aqui subo el programa para el que le pueda servir de ayuda, y si tienen algun consejo que me puedan dar,en hora buena antes de disenar la placa.


PD: Alejando que mas podria agregarle al joystick? aun me queda el puerto_B disponible


Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 230
Re: Joystick 8 ejes 32 botones
« Respuesta #36 en: 29 de Noviembre de 2011, 16:36:18 »
Hola, me alegro que funcione todo, la verdad que no se que mas agregarle... lo que mas te va a limitar, es casualmente.... windows... jejeje, yo llevaría todo a un micro mas chico y mas barato como el 18f14k50, que es mucho mas barato que los 2550 y el 4550, y si realmente te faltan mas botones o ejes agregaría mas joysticks nada mas.

Estoy trabajando en un 18f14k50 para mover 16 servos asi manejar los instrumentos, pero esta en etapa de simulación solamente.

Saludos.

Alejandro.

Desconectado kapotik

  • PIC16
  • ***
  • Mensajes: 121
Re: Joystick 8 ejes 32 botones
« Respuesta #37 en: 22 de Febrero de 2012, 21:59:46 »
Hola, viendo el video del horizonte me pregunto si sera posible aplicarlo a un juego de auto, donde la idea seria que al acelerar se moviera dos servos, el contavueltas y el velocimetro.?

Saludos

Desconectado ltcelik

  • PIC10
  • *
  • Mensajes: 1
Re: Joystick 8 ejes 32 botones
« Respuesta #38 en: 22 de Febrero de 2015, 16:07:23 »
Magnifique!  ((:-))

Desconectado Fuegomp3

  • PIC10
  • *
  • Mensajes: 3
Re:Joystick 8 ejes 32 botones
« Respuesta #39 en: 03 de Agosto de 2016, 07:44:04 »
Buenas, para una adaptacion de una consola de un simulador de vuelo (jeppesen), estuve viendo la forma de cambiar la interface serie por una usb, lo mejor que encontre hasta ahora y que esta andando es ir reemplazando las partes por (Mando de gases y palanca), por un joystick, asi que use una arme una placa para 8 ejes y 24 botones, el firmware sirve hasta 32 botones, es mas facilmente se puede llegar a 64 botones, pero como flight simulator permite utilizar varios joysticks para pilotear un avion, me decidi por dividir el problema.
De esto salio es primer joystick, mas adelante necesito otro para manejar unos encoders, para toda la parte de instrumentos de navegacion, pero por ahora les dejo esto que espero les sirva.
En los archivos van las placas y el firmware, la resolucion de los ejes es de 10 bits.

Que lo disfruten.

Saludos.
Alejandro.



PD: si alguien se hace millonario con esto, no se olviden de mi...  :mrgreen: :mrgreen: :mrgreen:

Hola Ale, primero quiero agradecerte por el trabajo y por compartirlo. Descargue los archivos, y leyendo el codigo fuente, (aclaro que no tengo idea de programacion) veo que es para 8 ejes, 8 encoders y 8 botones? si eso es correcto, es muyyyy complicado hacer que sean los 24 botones?

Desde ya te agradezco la respuesta y vuelvo a agradecerte por el trabajo.

Saludos.
« Última modificación: 03 de Agosto de 2016, 08:32:57 por Fuegomp3 »

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 230
Re:Joystick 8 ejes 32 botones
« Respuesta #40 en: 03 de Agosto de 2016, 14:51:02 »
Hola, los 8 encoders usarian 16 entradas digitales, con lo cual mas las 8 que habia te dan las 24, asi que lo unico que hay que cambiar
es la parte de la logica que hace la interpretacion de los 8 encoders.

Saludos.

Desconectado Fuegomp3

  • PIC10
  • *
  • Mensajes: 3
Re:Joystick 8 ejes 32 botones
« Respuesta #41 en: 03 de Agosto de 2016, 15:29:59 »
ok, suponiendo que yo se "algo" de esto :D son muchas variables a cambiar? ademas de eliminar las lineas de 6 encoders para dejar solo dos, tengo que agregar la lectura de los demas como botones y listo? o hay alguna instruccion en general que deba cambiar?

Desconectado Fuegomp3

  • PIC10
  • *
  • Mensajes: 3
Re:Joystick 8 ejes 32 botones
« Respuesta #42 en: 03 de Agosto de 2016, 18:31:59 »
A ver, modifique algo, si me mande una burrada, no me maten :D

Código: [Seleccionar]
/////////////////////////////////////////////////////////////////////////
////                                                                 ////
////  Joystick.c                                            ////
////  Joystick 8 ejes 24 botones                                   ////
////  Autor: Alejandro                                                     ////
////                                                                 ////
////  02/05/2010                                                    ////
////                                                                 ////
/////////////////////////////////////////////////////////////////////////

#include <18F2550.h>
#device ADC = 10
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#use fast_io(A)
#use fast_io(b)
#use fast_io(c)


#DEFINE USB_HID_DEVICE  TRUE

#define USB_EP1_TX_ENABLE  USB_ENABLE_INTERRUPT   //turn on EP1 for IN bulk/interrupt transfers
#define USB_EP1_TX_SIZE 20

#define USB_EP1_RX_ENABLE  USB_ENABLE_INTERRUPT   //turn on EP1 for IN bulk/interrupt transfers
#define USB_EP1_RX_SIZE 8

#include <pic18_usb.h>
#include <PPM_USB_HID.h>               //USB Configuration and Device descriptors for this UBS device
#include <usb.c>                                 //handles usb setup tokens and get descriptor reports

/////////////////////////////////////////////////////////////////////////////
//
// Defines y Zarandajas
//
/////////////////////////////////////////////////////////////////////////////
   int8 TxUSB[20];


#define LED_ON  output_high
#define LED_OFF output_low



/////////////////////////////////////////////////////////////////////////////
//
// RAM
//
/////////////////////////////////////////////////////////////////////////////

int8 connected;
int8 enumerated;
int8 rx_msg[USB_EP1_RX_SIZE];
int8 tx_msg[22]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};


char NextChar='0';
int1 fTX=0;
int1 fInicio=0;
int1 fLeer=0;

int8 i;
int8 rNroCanal=0;
int8 rTiempo=0;
int8 txlen=0;
int8 txpoint=0;

int8 rAntBot1a8=0;   //estado anterior de los botones
int8 FpBtn1a8=0;  //Flacos positivos
#bit fp1  =  FpBtn1a8.0
#bit fp2  =  FpBtn1a8.1
#bit fp3  =  FpBtn1a8.2
#bit fp4  =  FpBtn1a8.3


int8 rEncDir=0; //Deteccuion de la direccion de los encoders
#bit Dir1 = rEncDir.0
#bit Dir2 = rEncDir.1
#bit Dir3 = rEncDir.2
#bit Dir4 = rEncDir.3



int8  Eje0=0;
int16 Eje1=0;
int16 Eje2=0;
int16 Eje3=0;
int16 Eje4=0;
int16 Eje5=0;
int16 Eje6=0;
int16 Eje7=0;
int16 Eje8=0;
int8 Btn1a8=0;    //Encoders
int8 Btn9a16=0;   //Encoders
int8 Btn17a24=0;  //Ultimos 8 borones
int8 Btn24a32=0;
//Registros enviados por USB 24 Botones


#bit Btn1   =  btn1a8.0
#bit Btn2   =  btn1a8.1
#bit Btn3   =  btn1a8.2
#bit Btn4   =  btn1a8.3
/////////////////////////////////////////////////////////////////////////////
//
// usb_debug_task()
//
// When called periodically, displays debugging information over serial
// to display enumeration and connection states.  Also lights LED2 and LED3
// based upon enumeration and connection status.
//
/////////////////////////////////////////////////////////////////////////////

void usb_debug_task(void) {

   enumerated=usb_enumerated();

}





/////////////////////////////////////////////////////////////////////////////
//
// usb_rx_task()
//
// Listens to EP1 for any incoming packets.  The only report ID that is
// configurd to send us data is 2 (keyboard LED status, see above)
//
/////////////////////////////////////////////////////////////////////////////

void usb_rx_task(void){


}


#int_RTCC
void RTCC_isr() {
fleer=1;
}



#int_TIMER1   //Timer 1 overflow
void TIMER1_int(){

}


void main() {
   int8 Trim[2];
   int8 Buffer;

   set_tris_a(0b11101111);
   set_tris_b(0b11111111);
   set_tris_c(0b00110111);
   port_b_pullups(false);
   setup_adc_ports( AN0_TO_AN10 );
   setup_adc(ADC_CLOCK_INTERNAL );


 
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_128|RTCC_8_BIT);


   delay_ms(500);

   usb_init_cs();


   disable_interrupts(INT_TIMER1);
   disable_interrupts(int_tbe);
   enable_interrupts(INT_TIMER0);
   enable_interrupts(global);

   set_adc_channel(1);


while (TRUE)
   {
      int8 rTemp;
      int8 temp=0;
      int8 temp1=0;
     
      usb_task();
      usb_debug_task();
     
      if(fLeer){
               fLeer=0;
               set_adc_channel(0);  //PREPARO PARA PRIMER EJE
               //LEO DIGITALES
               output_low(pin_c7);
               output_low(pin_c6);
               output_high(pin_a4); //prepara para leer primeros  8 botones
               delay_us(5);
               temp= input_b();
               temp1=input_c();
               
               output_low(pin_a4);
               output_low(pin_c7);
               output_high(pin_c6); //prepara para leer segundos  8 botones
               
               //leo los 8 botones
               temp=temp & 0b11110001;
               temp1=(temp1 & 0b00000111)*2;
               Btn1a8 = temp | temp1;
               
/*               #asm comf rAntBot1a8   //Estado anterior de los botones
               #endasm
               FpBtn1a8 = rTemp & rAntBot1a8;   //Flancos positivos de los botones
               
               rAntBot1a8 = rTemp;   //igualo estado actual con anterior
               btn7=0;
               btn8=0;
               if(fp3 & bit_test(rtemp,2))btn7=1;
               if(fp3 & !bit_test(rtemp,2))btn8=1;
*/
               temp= input_b();
               temp1=input_c();
               output_low(pin_a4);
               output_low(pin_c6);
               output_high(pin_c7); //prepara para leer ultimos 8 botones
               
               //leo los otros 8 botones
               temp=temp & 0b11110001;
               temp1=(temp1 & 0b00000111)*2;
               Btn9a16 = temp | temp1;
/*
//Una vez obtenido el flanco y la direccion seteo los botones
               //Reseteo todos los botones del 1 al 16
               btn1a8=0;
               //Encoder 1
               if(fp1 & Dir1) Btn1=1;
               if(fp1 & !Dir1)Btn2=1;
               //Encoder 2
               if(fp2 & Dir2) Btn3=1;
               if(fp2 & !Dir2)Btn4=1;
*/               
 
               temp= input_b();
               temp1=input_c();
               temp=temp & 0b11110001;
               temp1=(temp1 & 0b00000111)*2;
               Btn1a8 = temp | temp1;
             
             
               temp= input_b();
               temp1=input_c();
               temp=temp & 0b11110001;
               temp1=(temp1 & 0b00000111)*2;
               Btn9a16 = temp | temp1;

               //leo ultimos ultimos 8 botones
               temp= input_b();
               temp1=input_c();
               temp=temp & 0b11110001;
               temp1=(temp1 & 0b00000111)*2;
               Btn17a24 = temp | temp1;
               
               //LEO ANALOGICAS
               Eje1=read_adc();
               set_adc_channel(1);  //PREPARO PARA EJE 2
               delay_us(10);
               Eje2=read_adc();
               set_adc_channel(2);  //PREPARO PARA EJE 3
               delay_us(10);
               Eje3=read_adc();
               set_adc_channel(3);  //PREPARO PARA EJE 4
               delay_us(10);
               Eje4=read_adc();
               set_adc_channel(4);  //PREPARO PARA EJE 5
               delay_us(10);
               Eje5=read_adc();
               set_adc_channel(9);  //PREPARO PARA EJE 6
               delay_us(10);
               Eje6=read_adc();
               set_adc_channel(8);  //PREPARO PARA EJE 7
               delay_us(10);
               Eje7=read_adc();
               set_adc_channel(10);  //PREPARO PARA EJE 8
               delay_us(10);
               Eje8=read_adc();
               fTx=1;
               
               }

      if(usb_enumerated())             //si esta configurado el Joysick
      {
               if (fTX){
                     txusb[0]=*(&eje0 + 1);
                     txusb[1]=*(&eje0 + 2);
                     txusb[2]=*(&eje0 + 3);
                     txusb[3]=*(&eje0 + 4);
                     txusb[4]=*(&eje0 + 5);
                     txusb[5]=*(&eje0 + 6);
                     txusb[6]=*(&eje0 + 7);
                     txusb[7]=*(&eje0 + 8);
                     txusb[8]=*(&eje0 + 9);
                     txusb[9]=*(&eje0 + 10);
                     txusb[10]=*(&eje0 + 11);
                     txusb[11]=*(&eje0 + 12);
                     txusb[12]=*(&eje0 + 13);
                     txusb[13]=*(&eje0 + 14);
                     txusb[14]=*(&eje0 + 15);
                     txusb[15]=*(&eje0 + 16);
                     txusb[16]=Btn1a8;
                     txusb[17]=Btn9a16;
                     txusb[18]=Btn17a24;
                     usb_put_packet(  1,  &eje0+1, 20, USB_DTS_TOGGLE);
                     fTX=0;
                     delay_ms(10);
               }
            }

     }
}



Desconectado Banfield

  • PIC10
  • *
  • Mensajes: 2
Re:Joystick 8 ejes 32 botones
« Respuesta #43 en: 17 de Octubre de 2017, 12:11:40 »
Buenos días. Estoy haciendo unos comandos para un simulador de vuelo pero mis conocimientos de electrónica son muy básicos. He visto que en muchos países se venden unas placas que se conectan directo a la PC por USB y Windows 10 los reconoce como un joystick. Permiten la conexión de 8 ejes y 32 botones lo que me resultaría muy útil para mi proyecto para controlar 8 potenciómetros y 32 interruptores. Es posible conseguir en Argentina algo similar?. Muchas gracias.

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re:Joystick 8 ejes 32 botones
« Respuesta #44 en: 20 de Noviembre de 2017, 09:56:18 »
No conozco que se venda en Argentina una placa, si hay otras en el exterior.
Yo hice una placa y está la info por la red para bajarla y armarla tu mismo, no son necesarios conocimientos avanzados de electrónica.

http://lmgtfy.com/?q=willynovi+controladora

En algún foro debe estar el enlace de descarga, el original es el de xtremeracers, pero debes registrarte para bajar.

Ahora no he encontrado un enlace que funcione, tendré que buscar los archivos originales para subirlos en algún gestor.

Prueba con este
http://www.filedropper.com/willynovicontroladorausb10bitsv13-2010-01

En windows 10 creo que está probada, debería funcionar.
Lo que no estoy seguro es el tema de tener mas de 6 ejes, en el tiempo que andaba con esto, windows solo permitía 6 ejes.
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.