Página 1 de 4 1 2 3 ... ÚltimaÚltima
Resultados 1 al 15 de 59

Tema: Tutorial: construye tu display barato con Arduino + TM1638

  1. #1
    Piloto de karting Avatar de PSArias
    Registrado
    08/05/2014
    Mensajes
    47

    Tutorial: construye tu display barato con Arduino + TM1638

    Para quitar un poco de trabajo al Staff, y viendo que alguno de vosotros lo estaba pidiendo, he recuperado el tutorial para poder construir el Display. Sin más que añadir, aquí os lo dejo ;)

    Bueno compañeros, he decidido abrir un nuevo hilo para que no se creen confusiones y para poder aclarar ciertos puntos que a mi en su día se me complicaron un poco.
    La idea es que cualquiera pueda seguir este "tutorial" y al final consiga su display en funcionamiento.
    El comportamiento esperado es este:

    [YOUTUBE]bZv7D-0KFSg[/YOUTUBE]

    En el vídeo, lo estoy utilizando en Race07, pero funciona en casi todos los juegos de carreras (iba a poner simuladores, pero no todos lo son)
    Aunque no se ven reflejadas en el vídeo, tendremos distintas funcionalidades:

    Botón 1: Muestra la marcha actual y la velocidad con los leds iluminando de izquierda a derecha.
    Botón 2: Lo mismo que el 1, pero cambia la forma de iluminación de los leds hacia el centro.
    Botón 3: Para setear las RPM máximas. (Con los botones 6 y 7 se disminuye y aumenta la cantidad respectivamente)
    Botón 4: Temperatura de agua y aceite.
    Botón 5: Gasolina restante.
    Botón 6: Capacidad máxima del tanque de gasolina. (Con los botones 6 y 7 se disminuye y aumenta la cantidad respectivamente)
    Botón 7: Cambiar la intensidad de iluminación del display en general. (Con los botones 6 y 7 se disminuye y aumenta la intensidad respectivamente)
    Botón 8: Sale de cualquiera de las opciones anteriores.

    Muy bien, pero... ¿Qué necesitamos?

    La placa Display: http://dx.com/p/8x-digital-tube-8x-k...d-module-81873

    Si tienes un programador de micros o una placa Arduino y quieres hacer todo en el mínimo espacio posible, una opción es comprar esta Nano compatible con Arduino: http://dx.com/p/arduino-nano-v3-0-81877

    Si no tienes ninguna de las dos cosas que he mencionado NO la compres, ya que no trae el bootloader cargado y no te dejará cargar ningún programa en ella si no le cargas el bootloader necesario, estarás tirando el dinero.
    En dicho caso, lo mejor es conseguir una placa Arduino UNO que suele ser de las más baratas y con la que también he probado y funciona a la perfección. Se pueden conseguir baratas si buscan por eBay.

    Y por último necesitaremos cables jumper. Se puede aprovechar el pedido a DX y pedirlos.

    En caso de la Arduino Nano: http://dx.com/p/single-port-female-t...m-length-55454
    En caso de la Arduino Uno: http://dx.com/es/p/breadboard-jumper...ble-pack-80208

    Bueno, ya me ha llegado todo lo que me has hecho comprar... ¿Y ahora qué?

    Pues ahora lo que debemos hacer primero que nada, es descargar el IDE de Arduino, que nos permitirá cargar programas a la placa.
    Lo podemos descargar de aquí: http://arduino.googlecode.com/files/....5-windows.exe

    Una vez descargado, os recomiendo leer el siguiente enlace para tener unas nociones básicas del IDE, aunque es muy fácil pero ahí está mejor explicado de lo que lo haría yo: http://arduino.cc/es/Guide/Windows

    Ahora que os habéis leído el enlace y ya sabéis cargar código al Arduino, es hora de cargar el código que he programado para que todo esto funcione. Primero que nada, hay que descargar la librería de la TM1638, la encontramos aquí: http://code.google.com/p/tm1638-library/
    Una vez descargada, copiaremos la carpeta TM1638 a la carpeta libraries donde se ha instalado Arduino, por ejemplo: C:\Archivos de programa\Arduino\libraries.
    Luego crear un proyecto nuevo y pegar el siguiente código, después cargarlo al Arduino:

    Código:

    Código:
    /*
    Programmed by PSArias
    Thanks to tronicgr for the base code
    http://x-sim.de
    */
    #include <TM1638.h> //can be downloaded from http://code.google.com/p/tm1638-library/
    #define RPMMAX 9500;
    #define MAXFUEL 60;
    // define a module on data pin 5, clock pin 4 and strobe pin 3
    TM1638 module(5, 4, 3);
    
    void setup() {
      //Create Serial Object
      Serial.begin(115200);
      // initialize the screen:
      module.clearDisplay();              
      byte values[]={0,0,0,0,0,0,0,0};          
      byte value = 32;
      for(int i=0; i<10; i++){
        if(i<2) {
          values[0]=value;
          value/=2;
        }
        else if(i-2>0){
          values[i-2]=value;
          values[i-3]=0;
        }
        else
          values[i-2]=value;
        module.setDisplay(values);
        delay(50);
      } 
      value=4;  
      for(int i=9; i>=0; i--){
        if(i>7) {
          values[7]=value;
          value/=2;
        }
        else if(i<7){
          values[i]=value;
          values[i+1]=0;
        }
        else
          values[i]=value;
        module.setDisplay(values);
        delay(50);
      }
      value=32;
      for(int i=0;i<2;i++){
        values[0]=value;
        value/=2;
        module.setDisplay(values);
        delay(50);
      }
      for(int i=128;i>=1;i/=2){
        module.setDisplayToString("        ",i);
        delay(50);
      }
      for(int i=0; i<3; i++){
        module.setDisplayToString("        ",255);
        module.setLEDs(0b11111111 | 0b111111111<< 8 );
        delay(250);
        module.setDisplayToString("        ",0);
        module.setLEDs(0b00000000 | 0b00000000<< 8 );
        delay(250);
      } 
      module.setDisplayToString("  rEAdy ");
      module.setLEDs(0b11111111 | 0b00000000<< 8 );
      delay(1500);
      module.clearDisplay();             
    }
    
    byte option, button;
    int i;
    char bufferArray[20];              // holds all serial data into a array
    unsigned int rpm;                  //holds the rpm data (0-65535 size)
    unsigned int rpmleds;              //holds the 8 leds values
    unsigned int rpmmax = RPMMAX;      //retrieves from x-sim USO this value as parameter divided by 100
    byte maxfuel = MAXFUEL;
    unsigned int carspeed;             //holds the speed data (0-65535 size)
    byte gear;                         // holds gear value data
    byte oilTemp;
    byte waterTemp;
    byte fuel;
    byte intensity=7;
    byte d1;                           // high byte temp variable
    byte d2;                           // low byte temp variable
    byte rpmdata = 0;                  // marker that new data are available
    byte speeddata = 0;                // marker that new data are available
    byte geardata = 0;                 // marker that new data are available
    byte oilTempData = 0;
    byte waterTempData = 0;
    byte fuelData = 0;
    
    void getData(){
      if (Serial.available() >= 9)  {    //if 6 bytes available in the Serial buffer...
            for (i=0; i<17; i++) {         // for each byte
            bufferArray[i] = Serial.read();        // put into array
           }
        }
       
      if (bufferArray[0] == 'R' ){      // if new bytes have been recieved
      
         d1 = bufferArray[1];      // store high byte of rpm
         d2 = bufferArray[2];      // store low byte of rpm
         rpm = ((d1<<8) + d2);               // concatonate bytes (shift 8 bits)
         rpmdata=1;                          // we got new data!
      }
      if (bufferArray[4] == 'S' ){
         d1 = bufferArray[5];      // store high byte of speed
         d2 = bufferArray[6];      // store low byte of speed
         carspeed = ((d1<<8) + d2);          // concatonate bytes (shift 8 bits)
         speeddata=1;                        // we got new data!
      }
      if (bufferArray[7] == 'G' ){
         gear = bufferArray[8];         // retrieves the single byte of gear (0-255 value)
         geardata=1;                    // we got new data!
      }
      if (bufferArray[9] == 'O' ){
         d1 = bufferArray[10];
         d2 = bufferArray[11];
         oilTemp = ((d1<<8) + d2);
         oilTempData = 1;
      }
      if (bufferArray[12] == 'W' ){
         d1 = bufferArray[13];
         d2 = bufferArray[14];
         waterTemp = ((d1<<8) + d2);
         waterTempData = 1;
      }
      if (bufferArray[15] == 'F' ){
         fuel = bufferArray[16];
         fuelData = 1;
      }
      
    }
    
    void option1(byte rpmMode){
      getData();
      //Speed Data---------------------------------------------
      if (speeddata == 1) {
        for(int i=7; i>=5; i--){
          if(carspeed!=0){
            module.setDisplayDigit(carspeed%10, i, false);
            carspeed/=10;
          }
          else
            module.clearDisplayDigit(i, false);
        }
        //module.setDisplayToDecNumber(carspeed, 0, false);  //displays numerical the speed
        speeddata=0;                     
      } 
    
      //Gear Data ----------------------------------------------  
      if (geardata == 1) {
         gear = gear - 127;      // offset the 0 value in 8-bit
         if (gear >= 1 and gear <10 ){
            module.setDisplayDigit(gear, 1, false);   // displays numerical value of the current gear
         }
         if (gear == 0){
            module.setDisplayToString("n", 0, 1);  // displays the character for neutral
         }
         if (gear == 255){                        // -1 that reprecents reverse rollover to 255 so...
            module.setDisplayToString("r", 0, 1);  // displays the character for reverse
         }
         geardata=0;
      }
      
      //RPM Data------------------------------------------------------
      if (rpmdata == 1) {
         rpmleds = map(rpm,0,rpmmax,0,9);    // distributes the rpm level to the 8 leds + 1 for shift change
         if(rpmMode==1) {
           if (rpmleds==0){
             module.setLEDs(0b00000000 | 0b00000000<< 8);
           }
           if (rpmleds==1){
             module.setLEDs(0b00000001 | 0b00000000<< 8 );
           }
           if (rpmleds==2){
             module.setLEDs(0b00000011 | 0b00000000<< 8 );
           }
           if (rpmleds==3){
             module.setLEDs(0b00000111 | 0b00000000<< 8 );
           }
           if (rpmleds==4){
             module.setLEDs(0b00001111 | 0b00000000<< 8);
           }
           if (rpmleds==5){
             module.setLEDs(0b00011111 | 0b00000000<< 8);
           }
           if (rpmleds==6){
             module.setLEDs(0b00011111 | 0b00100000<< 8 );
           }
           if (rpmleds==7){
             module.setLEDs(0b00011111 | 0b01100000<< 8 );
           }
           if (rpmleds==8){
             module.setLEDs(0b11111111 | 0b111111111<< 8 );   
           }
         }
         else if(rpmMode==2) {
           if (rpmleds==0){
             module.setLEDs(0b00000000 | 0b00000000<< 8);
           }
           if (rpmleds==1){
             module.setLEDs(0b00000000 | 0b00000000<< 8 );
           }
           if (rpmleds==2){
             module.setLEDs(0b10000001 | 0b00000000<< 8 );
           }
           if (rpmleds==3){
             module.setLEDs(0b10000001 | 0b00000000<< 8 );
           }
           if (rpmleds==4){
             module.setLEDs(0b11000011 | 0b00000000<< 8 );
           }
           if (rpmleds==5){
             module.setLEDs(0b11000011 | 0b00000000<< 8 );
           }
           if (rpmleds==6){
             module.setLEDs(0b11100111 | 0b00000000<< 8 );
           }
           if (rpmleds==7){
             module.setLEDs(0b11100111 | 0b00011000<< 8 );
           }
           if (rpmleds==8){
             module.setLEDs(0b11111111 | 0b111111111<< 8 );   
           }
         }
         rpmdata=0;
      }
    }
    
    void option3(){  //Set RPM Max. vlaue
      byte buttonPressed;
      do {
        module.setDisplayToDecNumber(rpmmax,0,false);
        buttonPressed = module.getButtons();
        if(buttonPressed==32)
          rpmmax-=500;
        else if(buttonPressed==64)
          rpmmax+=500;
        delay(100);
      }while(buttonPressed!=128);
    }
    
    void option4(){
      getData();
      module.setDisplayToString("l",0,4);
      if(oilTempData==1 && oilTemp<255 && oilTemp>0){
        for(int i=7; i>=5; i--){
          if(oilTemp!=0){
            module.setDisplayDigit(oilTemp%10, i, false);
            oilTemp/=10;
          }
          else
            module.clearDisplayDigit(i, false);
        }
        oilTempData=0;
      }
      if(waterTempData==1 && waterTemp<255 && waterTemp>0){
        for(int i=2; i>=0; i--){
          if(waterTemp!=0){
            module.setDisplayDigit(waterTemp%10, i, false);
            waterTemp/=10;
          }
          else
            module.clearDisplayDigit(i, false);
        }
        waterTempData=0;
      }
      
    }
    
    void option5(){  //Set Fuel Max. vlaue
      byte buttonPressed;
      do {
        fuel = maxfuel;
        for(int i=3; i>=1; i--){
          if(fuel!=0){
            module.setDisplayDigit(fuel%10, i, false);
            fuel/=10;
          }
          else if(i==3)    //There is 0Lts, no fuel!
            module.setDisplayDigit(0,i,false);
          else             //clean left zeros
            module.clearDisplayDigit(i, false);
        }
        module.setDisplayToString("LtS",0,5);
        buttonPressed = module.getButtons();
        if(buttonPressed==32)
          maxfuel-=1;
        else if(buttonPressed==64)
          maxfuel+=1;
        delay(100);
      }while(buttonPressed!=128);
      clean();
    }
    
    void option6(){
      getData();
      if(fuelData==1 && fuel<228 && fuel>=127){
        fuel-=127;
        int maxLed = fuel*8/maxfuel;
        for(int i=0; i<8; i++){
          if(i>=maxLed){
            if(maxLed==0 && fuel >= 0)
              module.setLED(2,0);
            else
              module.setLED(0, i);
          }
          else
            module.setLED(1, i);
        }
        for(int i=3; i>=1; i--){
          if(fuel!=0){
            module.setDisplayDigit(fuel%10, i, false);
            fuel/=10;
          }
          else if(i==3)    //There is 0Lts, no fuel!
            module.setDisplayDigit(0,i,false);
          else             //clean left zeros
            module.clearDisplayDigit(i, false);
        }
        module.setDisplayToString("LtS",0,5);
        fuelData = 0;
      }
    }
    
    void option7(){
      byte buttonPressed;
      do {
        module.setupDisplay(1,intensity);
        module.setDisplayToString("--tESt--",0);
        buttonPressed = module.getButtons();
        if(buttonPressed==32 && intensity>0)
          intensity--;
        else if(buttonPressed==64 && intensity<7)
          intensity++;
        delay(80);
      }while(buttonPressed!=128);
    }
    
    void clean(){
      module.clearDisplay();
      module.setLEDs(0b00000000 | 0b00000000<< 8);
    }
    
    void loop() {
      
      button=module.getButtons();
      if(button!=0){
        switch(button){
        case 1:
          clean();
          module.setDisplayToString("GEAr SPd",0);
          delay(1000);
          module.clearDisplay();
          module.setDisplayToString("LEdS 1",0,1);
          delay(1000);
          clean();
        break;
        case 2:
          clean();
          module.setDisplayToString("GEAr SPd",0);
          delay(1000);
          module.clearDisplay();
          module.setDisplayToString("LEdS 2",0,1);
          delay(1000);
          clean();
        break;
        case 4:
          clean();
        break;
        case 8:
          clean();
          module.setDisplayToString("tAG l AC",0b10000000);
          delay(1000);
          clean();
        break;
        case 16:
          clean();
          module.setDisplayToString("FUEL",0,2);
          delay(1000);
          clean();
        break;
        case 32:
          clean();
          module.setDisplayToString("SEt FUEL",0);
          delay(1000);
          clean();
        break;
        case 64:
          clean();
          module.setDisplayToString("briGht",0,1);
          delay(1000);
          clean();
        break;
        }
        option = button;
      }
      
      switch(option){
        case 1:
          option1(1);
        break;
        case 2:
          option1(2);
        break;
        case 4:
          option3();
        break;
        case 8:
          option4();
        break;
        case 16:
          option6();
        break;
        case 32:
          option5();
        break;
        case 64:
          option7();
        break;
        case 128:
          clean();
        break;
        default:
          clean();
          break;
      }
    }
    Muy bien! Ya tenéis un gran paso hecho! Sigamos...

    Ahora hay que cablear el circuito, no os asustéis que es una tonteria, además una imágen dice más que mil palabras:



    Es muy importante que lo hagáis exactamente igual, ya que puede dañarse la placa o en el mejor de los casos no funcionar.
    Una vez tengamos el circuito cableado, necesitamos los datos para mostrar en el display. Pues eso, gracias a X-Sim es bastante fácil, y aún les resultará más fácil porque ya les daré el profile creado y todo solo tenéis que abrirlo y ya lo tendréis configurado.

    Primero que nada debemos ir a la página de x-sim y registrarnos: http://www.x-sim.de/forum//ucp.php?mode=register
    Es obligado ya que para descargar y utilizar el programa es necesario loguearse.
    Una vez registrados, descargamos el software: http://www.x-sim.de/forum//dm_eds/showcat.php?id=2

    Lo instalamos siguiendo las instrucciones.
    Una vez instalado, podemos descargar el profile que he creado para el display: https://mega.co.nz/#!cNtHkDSL!HSFJiX...2NOQ6tMRlTvJ8E

    Como se puede ver, hay dos programas, el Extractor y el Converter, siempre deben ser ejecutados en modo Administrador. Una vez descargado el profile, lo abrimos, nos abrirá el Converter con la configuración realizada, no toquéis nada.
    Tendréis que ejecutar el Extractor y debajo a la izquierda en el programa, hay un botón que dice "Add your games/Wizard", nos abrirá una ventana donde tendremos que pulsar el botón "Press here to search for all known games on your local harddisk", buscará automáticamente todos los juegos soportados, hay que tener un poco de paciencia porque puede tardar unos minutos.
    Cuando nos diga que hay un profile del juego que ya existe y si lo queremos utilizar, le diremos que SI. Entonces sólo nos quedará por poner Play Game en el Extractor y a funcionar!

    En caso de que no comience a funcionar la placa, habrá que darle al Start en el Converter y ya lo tendremos!

    Bueno compañeros y con eso creo que ya hemos llegado al final, si habéis hecho todo bien, debería funcionar como en el vídeo.

    Espero que les haya servido de ayuda este "tutorial". Animaros! Yo estaré por aquí por si surge algún improvisto.

    Saludos!
    Última edición por Hechi 20/05/2014 a las 04:27


  2. #2
    Piloto de karting Avatar de PSArias
    Registrado
    08/05/2014
    Mensajes
    47

    Re: Tutorial: Construye tu display barato con Arduino + TM1638

    ACTUALIZACIÓN 1:

    He visto que varios tenéis el problema del puerto COM cambiado, la verdad es que cuando escribí el tuto en su día, no me di cuenta de que lógicamente el número de puerto COM varía. Así que aquí os dejo la solución para los que tenéis ese problema.

    Primero que nada, aseguraros de tener conectada la placa Arduino antes de abrir el profile del Converter que os he dejado para la TM1638. Una vez abierto el Converter, pinchamos en Output Setup.



    Ahora pinchamos en Universal Serial Output...



    Una vez dentro, veremos varias cosas. Aseguraros de que está seleccionado el comport como marca en la imágen el número 1. Lo que está marcado como número 2, es el número de COM que tenéis vosotros, y consecuentemente, el que debemos poner para que funcione. Para ésto, primero que nada debéis copiar lo que está marcado como 3 en la imágen y recordar el número marcado como 4, que en este caso es 10ms (la tasa de refresco del display). Entonces, pinchamos en Remove Entry (marcado como 5 en la imágen).



    Una vez hecho lo anterior, se verá como en la siguiente imágen, donde deberéis pinchar en el botón Add entry to list, pegar donde está marcado en la imágen como 1 lo que habíais copiado en el paso anterior, y escribir el 10 donde está marcado como 2.



    Entonces, una vez hecho ésto, ya no debería haber ningún problema :D
    Última edición por PSArias 09/05/2014 a las 12:08


  3. #3
    Piloto de karting Avatar de PSArias
    Registrado
    08/05/2014
    Mensajes
    47

    Re: Tutorial: Construye tu display barato con Arduino + TM1638

    ACTUALIZACIÓN 2:

    Cita Cita
    De momento no he podido recuperarla, pero en todo caso, en esa parte se explicaba como hacer funcionar el x-sim con Assetto Corsa y GSC Extreme.

    A ver si pronto se puede recuperar...
    EDITO: Aquí os dejo como hacer funcionar el Assetto Corsa, en un post que hice hace un tiempo en el foro de x-sim

    http://www.x-sim.de/forum/viewtopic.php?f=67&t=1379

    Saludos!
    Última edición por PSArias 15/05/2014 a las 12:39


  4. #4
    Piloto de karting Avatar de Guti
    Registrado
    07/05/2014
    Mensajes
    35

    Re: Tutorial: Construye tu display barato con Arduino + TM1638

    Gracias, PSArias, te quiero.... dicho desde el cariño...hombre, si no desde dónde se va a decir.
    Lo que pasa es que mis chinitos todavía están terminando de soldar los componentes.... iba en serio lo de las tres semanas de DXextreme.
    En cualquier caso, gracias de nuevo.
    "Si cierras la caja de herramientas a la primera y sin problemas, no te quepa la menor duda de que algo se ha quedado fuera."

  5. #5
    Piloto de Fórmula Ford Avatar de xarpax
    Registrado
    15/05/2014
    Vivo en
    Asturias
    Mensajes
    155
    Gracias, por fin me ha llegado todo, más de un mes lo de dxextreme. Pero no sé que me pasa que no funciona. Cuando lo conecto, parpadean los leds del display, luego aparece la palabra ready pero no me funciona en ninguno de los tres juegos, ni en f12012, ni f12011, ni assetto corsa. A ver si alguien me puede ayudar.Gracias.

  6. #6
    Piloto de karting Avatar de jdracing
    Registrado
    07/05/2014
    Edad
    36
    Mensajes
    99
    Gracias psarias por volver a poner el tutorial, he formateado y tengo que ponerme al lio de nuevo, así que tendré que empezar de cero, a ver si podemos recuperar la parte para configurar en AC y GSC que a mi me funcionó de lujo y son con los que lo utilizo ;)

  7. #7
    Piloto de karting Avatar de PSArias
    Registrado
    08/05/2014
    Mensajes
    47
    Cita xarpax ha escrito Ver mensaje
    Gracias, por fin me ha llegado todo, más de un mes lo de dxextreme. Pero no sé que me pasa que no funciona. Cuando lo conecto, parpadean los leds del display, luego aparece la palabra ready pero no me funciona en ninguno de los tres juegos, ni en f12012, ni f12011, ni assetto corsa. A ver si alguien me puede ayudar.Gracias.
    Buenas xarpax, supongo que has hecho todo tal cual en el tutorial, que has escaneado los juegos, le has dado al Start, etc...
    Como sabrás el display está programado para varias funciones, por defecto no hay activada ninguna, por lo que el display no te mostrará nada hasta que no pulses un botón. Cuando estés en el juego, pulsa el primer botón, a ver si asi te funciona...

    Saludos!


  8. #8
    Piloto de Fórmula Ford Avatar de xarpax
    Registrado
    15/05/2014
    Vivo en
    Asturias
    Mensajes
    155
    Si le doy al boton start me dice algo así como que hay un error de comunicación, que compruebe si el extractor está funcionando y que le de al play game. En el display puedo configurar las revoluciones, pero en el juego no marca nada. A ver si alguien tiene una pista de lo que puede ser.

  9. #9
    Piloto de karting Avatar de ayois_bandit
    Registrado
    07/05/2014
    Mensajes
    87
    Genial tutorial!! Yo hace tiempo hice mis pinitos con arduino y siempre me ha encantado, pero no al nivel del creador del tutorial. :)

    Tu que eres un maestro... seria muy complejo hacerlo con algo.como esto? . Para meter mas datos en un solo Hud.

    http://tronixstuff.com/2013/04/26/tu...t-lcd-modules/

    Enviado desde mi MB525 usando Tapatalk 2

  10. #10
    Piloto de karting Avatar de PSArias
    Registrado
    08/05/2014
    Mensajes
    47
    Cita xarpax ha escrito Ver mensaje
    Si le doy al boton start me dice algo así como que hay un error de comunicación, que compruebe si el extractor está funcionando y que le de al play game. En el display puedo configurar las revoluciones, pero en el juego no marca nada. A ver si alguien tiene una pista de lo que puede ser.
    xarpax, descríbeme por favor los pasos que sigues para poder encontrar cual es el problema, estás arrancando el juego desde el extractor dándole al Play Game?

    ayois, pues claro que se puede hombre!
    No tengo ninguno de esos en casa, pero siempre he querido probar con alguno. A ver si veo alguno baratillo y me pongo a hacer pruebas!

    Saludos!


  11. #11
    Piloto de Fórmula Ford Avatar de xarpax
    Registrado
    15/05/2014
    Vivo en
    Asturias
    Mensajes
    155
    A ver, yo ahora abro el converter, después abro el extractor. En el extractor, escojo el assetto entre los juegos que me encontró, le doy a play game y me abre correctamente el juego y puedo jugar. Todo ello con el display conectado al arduino y éste enchufado con el usb al pc. El display no me muestra nada, si toco los botones del display cambia de un modo a otro pero solo me marca en uno de los modos un 1, que no sé si será la vuelta, puedo configurar el tanque de combustible y las revoluciones máximas. En el router acabo de abrir el puerto 11, pero la cosa sigue igual. Lo mismo me pasa con f120011, tampoco va. Por si es el arduino he pillado otro que me llega para la semana que viene...
    Gracias por ayudar.
    Última edición por Hechi 20/05/2014 a las 04:27

  12. #12
    Piloto de karting Avatar de ayois_bandit
    Registrado
    07/05/2014
    Mensajes
    87
    Pues habra que cnseguir una tft de.esas, ademas son touchscreen o eso o programar un plugin para una que acabo de encontrar... "goverlay lcdsysinfo"

    :eek:

    Enviado desde mi MB525 usando Tapatalk 2

  13. #13
    Piloto de karting Avatar de ayois_bandit
    Registrado
    07/05/2014
    Mensajes
    87
    He pillado una tft en dx.com, cuando llegue y la pruebe os.cuento :)

    En dx.com es el articulo 223437 , encaja directo en el uno :)

    Enviado desde mi MB525 usando Tapatalk 2

  14. #14
    Piloto de Fórmula Ford Avatar de xarpax
    Registrado
    15/05/2014
    Vivo en
    Asturias
    Mensajes
    155
    Cita xarpax ha escrito Ver mensaje
    A ver, yo ahora abro el converter, después abro el extractor. En el extractor, escojo el assetto entre los juegos que me encontró, le doy a play game y me abre correctamente el juego y puedo jugar. Todo ello con el display conectado al arduino y éste enchufado con el usb al pc. El display no me muestra nada, si toco los botones del display cambia de un modo a otro pero solo me marca en uno de los modos un 1, que no sé si será la vuelta, puedo configurar el tanque de combustible y las revoluciones máximas. En el router acabo de abrir el puerto 11, pero la cosa sigue igual. Lo mismo me pasa con f120011, tampoco va. Por si es el arduino he pillado otro que me llega para la semana que viene...
    Gracias por ayudar.
    Pues no sé qué hago mal, me han dejado otro arduino y cables distintos para descartar y la cosa sigue igual...
    Edito: Hoy Martes 20 lo he hecho funcionar en el f12011 y en el 2012, ya sólo me queda un paso para que funcione en el assetto corsa, que es al que estoy jugando ahora. Creo que lo solucioné abriendo los puertos en el firewall de windows.
    Lo de Assetto corsa no lo entiendo porque desde el extractor puedo jugar, pero el display no va.
    Última edición por xarpax 20/05/2014 a las 09:34

  15. #15
    Piloto de karting Avatar de PSArias
    Registrado
    08/05/2014
    Mensajes
    47
    Me alegro xarpax que hayas podido hacerlo funcionar

    Con respecto a lo de Assetto Corsa, has visto el link que he dejado en la Actualización 2?

    Saludos!


Página 1 de 4 1 2 3 ... ÚltimaÚltima

Marcadores

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •