Software Captacion Datos (multi-Simuladores) + Arduino

Otros sistemas para obtener Displays. (Software, plugins...etc)

Moderador: XRStaff

Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje por Sito206 »

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Avatar de Usuario
Jaio
Espectador
Espectador
Mensajes: 16
Registrado: 27 Ago 2016 23:47
Volante: logitech momo racing

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

Mensaje por Jaio »

Avatar de Usuario
Jaio
Espectador
Espectador
Mensajes: 16
Registrado: 27 Ago 2016 23:47
Volante: logitech momo racing

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

Mensaje 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...
Avatar de Usuario
juanchiooo
Recien salido a pista
Recien salido a pista
Mensajes: 57
Registrado: 19 Oct 2012 23:49
Volante: g27

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

Mensaje 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
Imagen
Didac
Espectador
Espectador
Mensajes: 3
Registrado: 06 Feb 2017 18:53
Volante: G27

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

Mensaje 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
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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;
}
}
}
}

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Didac
Espectador
Espectador
Mensajes: 3
Registrado: 06 Feb 2017 18:53
Volante: G27

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

Mensaje por Didac »

saludos y gracias .

me dice esto con en código tuyo no se muy bien que quiere decir.
Imagen
Didac
Espectador
Espectador
Mensajes: 3
Registrado: 06 Feb 2017 18:53
Volante: G27

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

Mensaje por Didac »

y con el invertido esto
Imagen

yo acabo cortandome ...
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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...

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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/

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

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

Mensaje por Vojvoda »

Viendo como está el panorama en esta casa si lo hicieras compatible con r3e creo que sería la bomba...
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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.

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

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

Mensaje 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.
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje por Sito206 »

Perfecto gracias. Con eso está todo el trabajo hecho la semana que viene mismo. :alabar:

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

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

Mensaje por Vojvoda »

Será cuestión de comprarse un arduino y el display... Recomendarias algun "pack" de esos que corren por amazon o similares?
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

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

Mensaje por Vojvoda »

Si te digo la idea que me pasa por la cabeza desapareces del foro y no vuelves más :lengua:
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje por Sito206 »

Pues dime la idea que me gustan los retos jajaja

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

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

Mensaje 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?
Sito206
Primeras curvas
Primeras curvas
Mensajes: 131
Registrado: 09 Jun 2012 14:36
Volante: Thrustmaster TS-PC Racer
Ubicación: Cádiz
Contactar:

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

Mensaje 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.

Código: Seleccionar todo

if(!borracho)
{
MessageBox.Show("Disfruta conduciendo, no podemos conducir por ti");
}
else
{
MessageBox.Show("Hoy toca bus");
}
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

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

Mensaje 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.
Avatar de Usuario
praxtonio
Organización
Organización
Mensajes: 3298
Registrado: 11 Jul 2009 17:27
Volante: JzCokpit + Praxnatec
Ubicación: Carcelona.

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

Mensaje por praxtonio »

Joder hasta para un "manos de arbol" como yo me pongo a montarme un "artilugio" de esos, ya os estoy viendo venir......
Responder