Página 10 de 13

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 05 Sep 2016 19:47
por Sito206
Este es el programa para captar datos. , tienes que meter la dirección ip ( la local "127.0.0.1") y el puerto y le das a conectar. busca el dato de la posición y lo añado.

Pincha para ir a la descarga Lectura Byte

saludos

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 05 Sep 2016 21:50
por Sito206

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 06 Sep 2016 01:30
por Jaio

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 06 Sep 2016 02:19
por Jaio
Sito206 la verdad q esta algo dificil de captar el dato requerido en el programa.... :blink: devido a q el mismo muestra los datos pero estos cambian de posicion a cada rato. la verdad q le hechaste ganas para ubicar los datos de todos los juegos o usaste algun metodo...? tanto asi q estoy buscando el valor de GEAR q es el q puedo cambiar a voluntad para ver algun cambio en la lista pero el parpadeo de refrescamiento y el cambio de posicion de los datos lo hacen muy dificil.. en tema anterior mostraste unac aptura de este programa y viendo mas o menos como estas estructurados los datos de GEAR para Assetto corsa Gear es el valor 76 con Valor(NeuN) y Float(65535) siendo este dato "65535" el mismo valor neutral q muestra XSIM en su interface...

pregunta podrias mostrarme los datos capturados de DiRT3 q ubicaste para ver de algun modo el patron de lectura... asi como mostraste anteriormente:
Sito206 escribió:Datos de assetto corsa , byte -> Concepto

144 -> Velocidad
80 -> RPM
76 -> Gear
84 -> MaxRpm
148 -> Vueltas completadas
158 -> posición
156 -> Numero de coches
160 -> Numero de vueltas
164 - > tiempo actual
168 -> Tiempo ultima vuelta
172 -> Tiempo mejor vuelta

Eso tenemos por el momento
se q estas ocupado con tus cosas pero una mano lava la otra me ayudas y te ayudo a ubicar los datos ya q dispongo de mas tiempo para trabajar en la PC...

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 20 Nov 2016 17:36
por juanchiooo
hola sito, el plugins dll de rfactor 2 donde va exactamente porque no me funciona para el tm 1638 , puede ser que la versión no valga para 64 bit ?gracias


reeditado : en el programa me salen los datos si funciona , no se como editar para que funcionen los botones ,solo funciona en 32 bit y el tm 1638 se enciende al meter el código pero no funciona se queda tanto la marcha como la velocidad a 0 , si hay solucion genial y si no la hay pues igualmente gracias

lo ideal es que sirviera en 64bit , si por lo que fuera no va, no pasa nada ya que hace tiempo lo solucione con otro programa , mas que nada me interesaba por los botones y los datos extras, pero vamos velocidad marcha y combustible ya lo tenia , como digo si hay o no solucion igualmente muchisimas :cheers: gracias

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 06 Feb 2017 19:29
por Didac
Hola a todos.

llevo dias peleandome con este display
y una placa de arduino uno que ya tenia
los he conectado

y después de juntar y remover varias librerías de tm1638( no tengo ni idea de programar en arduino) he conseguido esto

el soft de captación de datos me va perfecto con assetto corsa mi problema es la programación con arduino. con que me mostrara la velocidad la marcha que llevo engranada , los leds subiesen progresivamente y los botones hiciesen alguna cosa seria feliz . pero no hay manera . descarto que el display este roto porque si le cargo de la librería tm1638 los skets de prueba el display parece correcto . el problema es la programación y mi ignorancia.
Agradeceria muchisimo si alguien me mostrara la luz.

saludos

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 06 Feb 2017 19:43
por Sito206
Hola.

Aquí tienes el código para arduino uno y el display

Codigo para arduino y LKM1638
#include <TM1638.h>
TM1638 module(8, 9, 7);
int rpm_maxima = 8800;
boolean parpadea = false;
long previousMillis = 0;
long interval = 50;
long intervalPit = 100;
long intervalo_v = 500;
long VMillis = 0;
int Button;
int ModeIzquierda = 0;
int ModeDerecha = 0;
int Agua;
int Oil;
int Fuel;
int Gear;
int Rpm;
int Speed;
int ultima_vuelta_tiempo = -1;
int ultima_vuelta_tiempo_m = -1;
int PitLine = 0;
unsigned long currentMillis;
unsigned long currentMillisV;
boolean encendido_tiempo = false;
int numero_veces = 0;

int pos_speed = 5;
int pos_rpm = 0;
int pos_gear = 0;
int pos_fuel = 0;
int pos_agua = 0;
int pos_oil = 0;

int leds[] = { 0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000000000001, 0b0000000000000011, 0b0000000000000111, 0b0000000000001111, 0b0000000000011111, 0b0010000000011111, 0b0110000000011111, 0b1110000000011111, 0b1111111100000000, 0b1111111100000000};

void setup()
{
Serial.begin(38500);
}

void loop()
{
while(Serial.available() > 1)
{

char comandos = Serial.read();
if (comandos == 'S') Speed = Serial.parseInt();
if (comandos == 'R') Rpm = Serial.parseInt();
if(comandos == 'G') Gear = Serial.parseInt();
if(comandos == 'A') Agua = Serial.parseInt();
if(comandos == 'O') Oil = Serial.parseInt();
if(comandos == 'F') Fuel = Serial.parseInt();
if(comandos == 'C') Button = Serial.parseInt();
if(comandos == 'P') PitLine = Serial.parseInt();
if(comandos == 'M') rpm_maxima = Serial.parseInt();
if(comandos == 'T') ultima_vuelta_tiempo = Serial.parseInt();
if(comandos == 'N') ultima_vuelta_tiempo_m = Serial.parseInt();

}


if(ultima_vuelta_tiempo > 0 && ultima_vuelta_tiempo_m > 0)
{
rpm_luz(Rpm);
currentMillisV = millis();
if(currentMillisV - VMillis > intervalo_v)
{
VMillis = currentMillisV;
if(encendido_tiempo)
{
numero_veces++;
encendido_tiempo = false;

switch(String(ultima_vuelta_tiempo).length())
{
case 2:
module.setDisplayToString("00"+String(ultima_vuelta_tiempo)+String(ultima_vuelta_tiempo_m), 0b01010000, 1);
break;

case 3:
module.setDisplayToString("0"+String(ultima_vuelta_tiempo)+String(ultima_vuelta_tiempo_m), 0b01010000, 1);
break;

case 4:
module.setDisplayToString(String(ultima_vuelta_tiempo)+String(ultima_vuelta_tiempo_m), 0b01010000, 1);
break;
}
}
else
{
encendido_tiempo = true;
module.clearDisplay();

}

if(numero_veces > 8)
{
numero_veces = 0;
ultima_vuelta_tiempo = -1;
ultima_vuelta_tiempo_m = -1;
}

}



}
else
{

switch(PitLine)
{
case 0:
//currentMillisButtons = millis();
// if(currentMillisButtons - ButtonsMillis > intervalo_boton) //if
// {

switch(Button)
{

case 1:
Button = 0;
// ButtonsMillis = currentMillisButtons;
ModeIzquierda++;

module.clearDisplay();

break;

case 2:
Button = 0;
// ButtonsMillis = currentMillisButtons;
ModeDerecha++;


module.clearDisplay();

break;

} //switch(Button)
// } // if(currentMillis - ButtonsMillis > intervalo_boton)

switch(ModeIzquierda)
{
case 0:
pos_rpm = 0;
Read_Rpm();
break;

case 1:
pos_gear = 0;
Read_Gear();
break;

case 2:
pos_fuel = 0;
Read_Fuel();
break;

case 3:
pos_agua = 0;
Read_Agua();
break;

case 4:
pos_oil = 0;
Read_Oil();
break;

case 5:
pos_speed = 0;
Read_Speed();
break;

case 6:
ModeIzquierda = 0;
Read_Rpm();
break;
} //switch(ModeIzquierda)

switch(ModeDerecha)
{
case 0:
pos_speed = 4;
Read_Speed();
break;

case 1:
pos_gear = 4;
Read_Gear();
break;

case 2:
pos_fuel = 4;
Read_Fuel();
break;

case 3:
pos_agua = 4;
Read_Agua();
break;

case 4:
pos_oil = 4;
Read_Oil();
break;

case 5:
pos_rpm = 4;
Read_Rpm();
break;

default:
ModeDerecha =0;
Read_Speed();
break;
} //switch(ModeDerecha)

rpm_luz(Rpm);
break;

case 1:
module.setDisplayToString("LANE", 0, 0);
rpm_luz_pitline();
pos_speed = 4;
Read_Speed();
break;
} //switch(PitLine)
}//else tiempo
} // loop

void Read_Gear()
{
switch(Gear)
{
case 0:
module.setDisplayToString("GN",0b10000000 ,pos_gear);
module.clearDisplayDigit(pos_gear+2, false);
module.clearDisplayDigit(pos_gear+3, false);
break;

case -1:
module.setDisplayToString("GR",0b10000000 ,pos_gear);
module.clearDisplayDigit(pos_gear+2, false);
module.clearDisplayDigit(pos_gear+3, false);
break;

case 9:
module.setDisplayToString("GR",0b10000000 ,pos_gear);
module.clearDisplayDigit(pos_gear+2, false);
module.clearDisplayDigit(pos_gear+3, false);
break;

default:
module.setDisplayToString("G"+String(Gear),0b10000000 ,pos_gear);
module.clearDisplayDigit(pos_gear+2, false);
module.clearDisplayDigit(pos_gear+3, false);
break;
}

}

void Read_Oil()
{
switch(String(Oil).length()+1)
{
case 2:
module.clearDisplayDigit(pos_oil+2, false);
module.clearDisplayDigit(pos_oil+3, false);
break;
case 3:
module.clearDisplayDigit(pos_oil+3, false);
break;

default:

break;

}

module.setDisplayToString("O", 0b10000000, pos_oil);
module.setDisplayToString(String(Oil), 0, pos_oil+1);
}

void Read_Agua()
{
switch(String(Agua).length()+1)
{
case 2:
module.clearDisplayDigit(pos_agua+2, false);
module.clearDisplayDigit(pos_agua+3, false);
break;
case 3:
module.clearDisplayDigit(pos_agua+3, false);
break;

default:

break;

}

module.setDisplayToString("A", 0b10000000, pos_agua);
module.setDisplayToString(String(Agua), 0, pos_agua+1);
}

void Read_Fuel()
{
switch(String(Fuel).length()+1)
{
case 2:
module.clearDisplayDigit(pos_fuel+2, false);
module.clearDisplayDigit(pos_fuel+3, false);
break;
case 3:
module.clearDisplayDigit(pos_fuel+3, false);
break;

default:

break;

}

module.setDisplayToString("F", 0b10000000, pos_fuel);
module.setDisplayToString(String(Fuel), 0, pos_fuel+1);

}

void Read_Speed()
{
if(Speed >= 100)
{
module.setDisplayToString(String(Speed), 0, pos_speed+1); //aquí va tu funcion
module.clearDisplayDigit(pos_speed, false);
}

if(Speed >= 10 && Speed < 100)
{
module.setDisplayToString(String(Speed), 0, pos_speed+2); //aquí va tu funcion
module.clearDisplayDigit(pos_speed, false);
module.clearDisplayDigit(pos_speed+1, false);
}

if(Speed >= 0 && Speed <10)
{
module.setDisplayToString(String(Speed), 0, pos_speed+3); //aquí va tu funcion

module.clearDisplayDigit(pos_speed, false);
module.clearDisplayDigit(pos_speed+1, false);
module.clearDisplayDigit(pos_speed+2, false);
}

}

void Read_Rpm()
{
switch(String(Rpm).length())
{
case 1:
module.clearDisplayDigit(pos_rpm+1, false);
module.clearDisplayDigit(pos_rpm+2, false);
module.clearDisplayDigit(pos_rpm+3, false);
break;
case 2:
module.clearDisplayDigit(pos_rpm+2, false);
module.clearDisplayDigit(pos_rpm+3, false);
break;

case 3:
module.clearDisplayDigit(pos_rpm+3, false);
break;

default:

break;

}

module.setDisplayToString(String(Rpm),0 ,pos_rpm);

}

void rpm_luz_pitline()
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > intervalPit)
{
previousMillis = currentMillis;

if(parpadea == false)
{
module.setLEDs(0b0000000011111111);
parpadea = true;
}
else
{
module.setLEDs(leds[0]);
parpadea = false;
}
}
}

void rpm_luz(int rpm_actual)
{
int calculo = map(rpm_actual, 0, rpm_maxima, 0, 100);
if(calculo >= 50 && calculo < 98)
{
int calculo_tmp = map(calculo, 50, 98, 0, 11);
module.setLEDs(leds[calculo_tmp]);
}

if(calculo >=98)
{
//calculo = map(calculo, 50, 100, 0, 13);
currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;

if(parpadea == false)
{
module.setLEDs(leds[12]);
parpadea = true;
}
else
{
module.setLEDs(leds[0]);
parpadea = false;
}
}
}
}
y si lo quieres con los leds invertidos...
#include <InvertedTM1638.h>
InvertedTM1638 module(8, 9, 7, true, 7);
int rpm_maxima = 8800;
boolean parpadea = false;
long previousMillis = 0;
long interval = 50;
long intervalPit = 100;
long intervalo_v = 500;
long VMillis = 0;
int Button;
int ModeIzquierda = 0;
int ModeDerecha = 0;
int Agua;
int Oil;
int Fuel;
int Gear;
int Rpm;
int Speed;
int ultima_vuelta_tiempo = -1;
int ultima_vuelta_tiempo_m = -1;
int PitLine = 0;
unsigned long currentMillis;
unsigned long currentMillisV;
boolean encendido_tiempo = false;
int numero_veces = 0;

int pos_speed = 5;
int pos_rpm = 0;
int pos_gear = 0;
int pos_fuel = 0;
int pos_agua = 0;
int pos_oil = 0;

int leds[] = {0b0000000000000000, 0b0000000000000000, 0b0000000000000000, 0b0000000100000000, 0b0000001100000000, 0b0000011100000000, 0b0000111100000000, 0b0001111100000000, 0b0011111100000000, 0b0111111100000000, 0b1111111100000000};

void setup()
{
Serial.begin(38500);
}
void loop()
{
while(Serial.available() > 1)
{
char comandos = Serial.read();
if (comandos == 'S') Speed = Serial.parseInt();
if (comandos == 'R') Rpm = Serial.parseInt();
if(comandos == 'G') Gear = Serial.parseInt();
if(comandos == 'A') Agua = Serial.parseInt();
if(comandos == 'O') Oil = Serial.parseInt();
if(comandos == 'F') Fuel = Serial.parseInt();
if(comandos == 'C') Button = Serial.parseInt();
if(comandos == 'P') PitLine = Serial.parseInt();
if(comandos == 'M') rpm_maxima = Serial.parseInt();
if(comandos == 'T') ultima_vuelta_tiempo = Serial.parseInt();
if(comandos == 'N') ultima_vuelta_tiempo_m = Serial.parseInt();
}
if(ultima_vuelta_tiempo > 0 && ultima_vuelta_tiempo_m > 0)
{
rpm_luz(Rpm);
currentMillisV = millis();
if(currentMillisV - VMillis > intervalo_v)
{
VMillis = currentMillisV;
if(encendido_tiempo)
{
numero_veces++;
encendido_tiempo = false;

switch(String(ultima_vuelta_tiempo).length())
{
case 2:
module.setDisplayToString("00"+String(ultima_vuelta_tiempo)+String(ultima_vuelta_tiempo_m), 0b01010000, 1);
break;

case 3:
module.setDisplayToString("0"+String(ultima_vuelta_tiempo)+String(ultima_vuelta_tiempo_m), 0b01010000, 1);
break;

case 4:
module.setDisplayToString(String(ultima_vuelta_tiempo)+String(ultima_vuelta_tiempo_m), 0b01010000, 1);
break;
}
}
else
{
encendido_tiempo = true;
module.clearDisplay();

}

if(numero_veces > 8)
{
numero_veces = 0;
ultima_vuelta_tiempo = -1;
ultima_vuelta_tiempo_m = -1;
}

}



}
else
{
switch(PitLine)
{
case 0:
//currentMillisButtons = millis();
// if(currentMillisButtons - ButtonsMillis > intervalo_boton) //if
// {

switch(Button)
{

case 1:
Button = 0;
// ButtonsMillis = currentMillisButtons;
ModeIzquierda++;

module.clearDisplay();

break;

case 2:
Button = 0;
// ButtonsMillis = currentMillisButtons;
ModeDerecha++;


module.clearDisplay();

break;

} //switch(Button)
// } // if(currentMillis - ButtonsMillis > intervalo_boton)

switch(ModeIzquierda)
{
case 0:
pos_rpm = 0;
Read_Rpm();
break;
case 1:
pos_gear = 0;
Read_Gear();
break;

case 2:
pos_fuel = 0;
Read_Fuel();
break;
case 3:
pos_agua = 0;
Read_Agua();
break;
case 4:
pos_oil = 0;
Read_Oil();
break;
case 5:
pos_speed = 0;
Read_Speed();
break;
case 6:
ModeIzquierda = 0;
Read_Rpm();
break;
} //switch(ModeIzquierda)
switch(ModeDerecha)
{
case 0:
pos_speed = 4;
Read_Speed();
break;
case 1:
pos_gear = 4;
Read_Gear();
break;

case 2:
pos_fuel = 4;
Read_Fuel();
break;
case 3:
pos_agua = 4;
Read_Agua();
break;
case 4:
pos_oil = 4;
Read_Oil();
break;
case 5:
pos_rpm = 4;
Read_Rpm();
break;

default:
ModeDerecha =0;
Read_Speed();
break;
} //switch(ModeDerecha)

rpm_luz(Rpm);
break;
case 1:
module.setDisplayToString("LANE", 0, 0);
rpm_luz_pitline();
pos_speed = 4;
Read_Speed();
break;
} //switch(PitLine)
}//else tiempo
} // loop

void Read_Gear()
{
switch(Gear)
{
case 0:
module.setDisplayToString(" N", 0, pos_gear);
//module.clearDisplayDigit(pos_gear+2, false);
break;

case -1:
module.setDisplayToString(" R",0 ,pos_gear);
module.clearDisplayDigit(pos_gear+2, false);
module.clearDisplayDigit(pos_gear+3, false);
break;

case 9:
module.setDisplayToString(" R",0 ,pos_gear);
module.clearDisplayDigit(pos_gear+2, false);
module.clearDisplayDigit(pos_gear+3, false);
break;

default:
module.setDisplayToString(" "+String(Gear),0 ,pos_gear);
module.clearDisplayDigit(pos_gear+2, false);
module.clearDisplayDigit(pos_gear+3, false);
break;
}

}

void Read_Oil()
{
switch(String(Oil).length()+1)
{
case 2:
module.clearDisplayDigit(pos_oil+2, false);
module.clearDisplayDigit(pos_oil+3, false);
break;
case 3:
module.clearDisplayDigit(pos_oil+3, false);
break;
default:
break;
}

module.setDisplayToString("O", 0b10000000, pos_oil);
module.setDisplayToString(String(Oil), 0, pos_oil+1);
}

void Read_Agua()
{
switch(String(Agua).length()+1)
{
case 2:
module.clearDisplayDigit(pos_agua+2, false);
module.clearDisplayDigit(pos_agua+3, false);
break;
case 3:
module.clearDisplayDigit(pos_agua+3, false);
break;
default:
break;
}

module.setDisplayToString("A", 0b10000000, pos_agua);
module.setDisplayToString(String(Agua), 0, pos_agua+1);
}

void Read_Fuel()
{
switch(String(Fuel).length()+1)
{
case 2:
module.clearDisplayDigit(pos_fuel+2, false);
module.clearDisplayDigit(pos_fuel+3, false);
break;
case 3:
module.clearDisplayDigit(pos_fuel+3, false);
break;
default:
break;
}

module.setDisplayToString("F", 0b10000000, pos_fuel);
module.setDisplayToString(String(Fuel), 0, pos_fuel+1);

}

void Read_Speed()
{
if(Speed >= 100)
{
module.setDisplayToString(String(Speed), 0, pos_speed+1); //aquí va tu funcion
module.clearDisplayDigit(pos_speed, false);
}

if(Speed >= 10 && Speed < 100)
{
module.setDisplayToString(String(Speed), 0, pos_speed+2); //aquí va tu funcion
module.clearDisplayDigit(pos_speed, false);
module.clearDisplayDigit(pos_speed+1, false);
}

if(Speed >= 0 && Speed <10)
{
module.setDisplayToString(String(Speed), 0, pos_speed+3); //aquí va tu funcion

module.clearDisplayDigit(pos_speed, false);
module.clearDisplayDigit(pos_speed+1, false);
module.clearDisplayDigit(pos_speed+2, false);
}

}

void Read_Rpm()
{
switch(String(Rpm).length())
{
case 1:
module.clearDisplayDigit(pos_rpm+1, false);
module.clearDisplayDigit(pos_rpm+2, false);
module.clearDisplayDigit(pos_rpm+3, false);
break;
case 2:
module.clearDisplayDigit(pos_rpm+2, false);
module.clearDisplayDigit(pos_rpm+3, false);
break;
case 3:
module.clearDisplayDigit(pos_rpm+3, false);
break;
default:
break;
}

module.setDisplayToString(String(Rpm),0 ,pos_rpm);

}

void rpm_luz_pitline()
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > intervalPit)
{
previousMillis = currentMillis;

if(parpadea == false)
{
module.setLEDs(0b1111111100000000);
parpadea = true;
}
else
{
module.setLEDs(leds[0]);
parpadea = false;
}
}
}

void rpm_luz(int rpm_actual)
{
int calculo = map(rpm_actual, 0, rpm_maxima, 0, 100);
if(calculo >= 50 && calculo < 95)
{
int calculo_tmp = map(calculo, 50, 95, 0, 10);
module.setLEDs(leds[calculo_tmp]);
}

if(calculo >=96)
{
//calculo = map(calculo, 50, 100, 0, 13);
currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;

if(parpadea == false)
{
module.setLEDs(leds[10]);
parpadea = true;
}
else
{
module.setLEDs(leds[0]);
parpadea = false;
}
}
}
}

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 07 Feb 2017 22:38
por Didac
saludos y gracias .

me dice esto con en código tuyo no se muy bien que quiere decir.
Imagen

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 07 Feb 2017 22:42
por Didac
y con el invertido esto
Imagen

yo acabo cortandome ...

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 21 Feb 2017 02:41
por Sito206
Ya probé con Didac la nueva versión, en unos días la colgaré... incluye algunas cosas... y se actualizan los datos nuevos de Assetto Corsa...

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 28 Feb 2017 21:33
por Sito206
nueva actualización V0.0.0.7 , incluye todos los nuevos datos que se incluyeron para assetto corsa (aunque no se útilizen todos )
Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Más información aquí

http://proyectosito.hol.es/

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 21:08
por Sito206
estoy trabajando en la próxima versión, incluirá compilación del código arduino desde la propia aplicación Inputdatafisic . Mostraré ejemplos de cómo montar un motor de vibración en el pedal de freno con arduino cuando salte el abs, o cuando haya un bloqueo de ruedas en caso de no tener activo el abs. explicaré cómo montar motores para hacernos nuestro cokpit. añadiré guardado de tiempos para poder comparar o subir a una web y comparar tiempos mediante un script y poder añadir a vuestra web para todos los que usen inputdatafisic. ... si tenéis alguna idea más en mente exponerla y se podrá estudiar. saludos

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 21:14
por Vojvoda
Viendo como está el panorama en esta casa si lo hicieras compatible con r3e creo que sería la bomba...

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 21:16
por Sito206
Vojvoda escribió:Viendo como está el panorama en esta casa si lo hicieras compatible con r3e creo que sería la bomba...
R3e? Me perdí algo jajaja

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 21:25
por Sito206
Vale el raceroom. Creo que nunca miré., pero es de los creadores de gtr por lo que seguramente muchos de los datos ya los muestre, investigaré algo estos dias y lo añadiré para la próxima versión.

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 21:27
por Vojvoda
En principio lo necesario está aquí -> https://github.com/sector3studios/r3e-api

Tus primeras versiones llegaron a ser compatibles, pero cambiaron el API y se perdió todo.

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 21:31
por Sito206
Perfecto gracias. Con eso está todo el trabajo hecho la semana que viene mismo. :alabar:

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 21:36
por Vojvoda
Será cuestión de comprarse un arduino y el display... Recomendarias algun "pack" de esos que corren por amazon o similares?

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 22:08
por Sito206
Pues depende de lo que busques, con un audio uno estaría bien en principio, y ya lo que quieras meteré . Display lcd un lkm1638... hay tanta infinidad de cosas como ideas tenga uno. Dime que quieres montar y te digo

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 22:46
por Vojvoda
Si te digo la idea que me pasa por la cabeza desapareces del foro y no vuelves más :lengua:

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 22:55
por Sito206
Pues dime la idea que me gustan los retos jajaja

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 23:07
por Vojvoda
Tu idea principal ya era muy buena y lo que has comentado antes la mejora está claro, pero yo siempre he pensado que la aplicación definitiva sería aquella que fuese compatible con la mayoría de simuladores del mercado, que ya que está leyendo los datos de la memoria fuese capaz de exportar la telemetria (csv por ejemplo) y así pudiesemos usar el mismo soft para todos los juegos, que controlase un display, dos, el xr, el gdxr, slipro o lo que fuese posible y que el entorno del soft (2o monitor) fuese más oscuro ya que yo (y creo que muchos) acostumbro a correr a oscuras.
La idea de subir los tiempos a una web me parece cojonuda, añadiría también la opción de saber en que sesión es ese tiempo y los parciales a ser posible.
Edito; Por lo que he hablado recientemente con algunos compañeros en el discord creo que hay bastantes interesados en seguir con tu proyecto. ¿Qué te parece de abrir un hilo nuevo y documentarlo todo correctamente?

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 23:26
por Sito206
Ajá. Lo que me comentas no es nada difícil , ya la mayoría del trabajo ya está hecho. Podrías decirme el canal y hablar con vosotros directamente para ver opiniones y saber hacia donde llevar el rumbo del proyecto. Exportar los datos es de lo más fácil . Lo más complicado seria recoger datos de algunos sim que tienen puntos de memoria que dejaría para lo último. Pero tu idea no es para nada descabellada.

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 03 Mar 2017 23:37
por Vojvoda
Yo creo que lo mejor sería que la gente fuera pasando por aquí y comentando sus "inquietudes" y luego ya tú decides hasta donde quieres llegar.
Seguro que me olvido de algunos nombres pero seguro que Rizzo anda más que interesado, Mauricio andaba hace poco detrás de una aplicación parecida para R3E, Francis es un culoveoculoquiero y si Tosti no está muy liado con el cole seguro que le interesa el tema web que comentas... Ahora es tarde, pero mañana te preparo un post con mi "idea" a ver que te parece.

Re: Software Captacion Datos (multi-Simuladores) + Arduino

Publicado: 04 Mar 2017 01:02
por praxtonio
Joder hasta para un "manos de arbol" como yo me pongo a montarme un "artilugio" de esos, ya os estoy viendo venir......