Show Posts
Pages: [1]
1  International / Software / Re: tm 1638 on: Today at 02:07:00 pm
no se si sabes hacer sketch para display de lcd? como los nuevos que usan las nuevos volantes de formula uno y las conexiones sabrias ayudarme o darme info de donde mirar exactamente ? gracias
2  International / Software / Re: tm 1638 on: July 21, 2014, 03:38:55 am
muchisimas gracias perdona la tardanza pero  al final di con quien lo hizo, y me ayudo, no solo en eso, si no en que funcionara en 64 bit esta para rfactor1 ,rfactor2,asseto corsa,iracing,, te dejo el enlace del block   (  http://batrako.blogspot.com.es/  )

disculpame la tardanza  smiley-red smiley-money
3  International / Software / tm 1638 on: July 05, 2014, 07:04:54 am
hola no me muevo mucho con la programación de arduino y tengo el siguiente sketch a ver si alguien me puede editar el problema de antemano muchas gracias

el problema es que los led digamos encienden demasiado y me gustaría fueran un poco mas leves de iluminacion...



#ifdef REVERSE
  #include <InvertedTM1638.h>
#else
  #include <TM1638.h>
#endif

#define METRIC 1
#define ENGLISH 0

const int DATA_PIN=8;
const int CLOCK_PIN=7;
const int STROBE_PIN=9;

const byte SYSTEM=METRIC;

#ifdef REVERSE
   InvertedTM1638 module(DATA_PIN, CLOCK_PIN, STROBE_PIN);
#else
   TM1638 module(DATA_PIN, CLOCK_PIN, STROBE_PIN);
#endif
byte Gear,Buttons,Mode_Buttons, Previous_Mode_External;
int Speed, Fuel_Remaining;
String Velocidad, Velocidad2;
String Fuel, Fuel2;
word Vel;
const int TRAMA_LENGTH=13;
byte TramaSerie[TRAMA_LENGTH];
short int Puntero,Modo_Hud;
long Blink_Interval=50;
boolean Leds_up;
boolean External_Control;
word estado_leds=0;
unsigned long CurrentMillis, PreviousMillis=0;
word leds [10] = {0, 1, 3, 7, 15, 31, 8223, 24607, 57375, 65535};
void setup()
{
  // Inicializar puerto serie a 9600 baudios
  Serial.begin(9600);
  Modo_Hud=-1;
  Mode_Buttons=0;
  Previous_Mode_External=0;
  External_Control=true;
}

void loop()
{
  Buttons=module.getButtons();
  if (Buttons!=0)
  {
     switch(Buttons)
     {
       case 1: Mode_Buttons=0;
              External_Control=false;
               break;
       case 2: Mode_Buttons=1;
              External_Control=false;
               break;
       case 128: Mode_Buttons=99;
                 External_Control=false;
                 break;
     }   
  }
  if (Serial.available()>0)
  {
      if (Serial.available()>TRAMA_LENGTH)
      {
        Puntero=0;
        memset(TramaSerie, 0, sizeof(TramaSerie));
        TramaSerie[Puntero]=Serial.read();
        if (TramaSerie[Puntero]==0xFF)
        {
          for (Puntero=1; Puntero<TRAMA_LENGTH; Puntero++)
          {
            TramaSerie[Puntero]=Serial.read();
          }
        if (TramaSerie[1]!=Previous_Mode_External)
        {
         External_Control=true;
        }
        if (!External_Control)
        {
         if( Mode_Buttons !=Modo_Hud)
         {
            module.clearDisplay();
         }
         switch(Mode_Buttons)
         {
            case 0: Display_Velocidad();
                  break;
            case 1: Display_Fuel();
                  break;
                                case 99: Borrar_Display();
                                                break;
            default: Display_Velocidad();
                  break;
         }
        }
        else
        {
         if( TramaSerie[1]!=Modo_Hud)
         {
            module.clearDisplay();
         }
         switch(TramaSerie[1])
         {
            case 0: Display_Velocidad();
                                        break;
            case 1: Display_Fuel();
                                        break;
                                case 2: Display_DeltaTime1();
                                        break;
                                case 99: Borrar_Display();
                                        break;
            default: Display_Velocidad();
                                        break;
         }
        }
          Previous_Mode_External=TramaSerie[1];
       
          //Gestión de LED's
          if (TramaSerie[5] == 9)
          {
            CurrentMillis=millis();
            if (CurrentMillis - PreviousMillis > Blink_Interval)
            {
              PreviousMillis=CurrentMillis;
              if ( Leds_up )
              {
                Leds_up=false;
                module.setLEDs(65535);
                estado_leds=65535;
              }
              else
              {
                Leds_up=true;
                module.setLEDs(0);
                estado_leds=0;
              }
            }
            else
            {
              module.setLEDs(estado_leds);
            }
          }
          else
          {
            module.setLEDs(leds[TramaSerie[5]]);
            Leds_up=false;
            estado_leds=65535;
          }
         }         
      }   
  }
}

void Display_Velocidad()
{
  switch(TramaSerie[2])
  {
    case 255:
        module.setDisplayToString("r", 0,0);
        break;
    case 0:
        module.setDisplayToString("N", 0,0);
        break;
    default:
        module.setDisplayToString(String(TramaSerie[2],DEC), 0,0);
  }
  Vel=(TramaSerie[4] << smiley-cool| TramaSerie[3];
  if (SYSTEM==ENGLISH)
  {
    Vel=round(Vel/1.609);
  }
  Velocidad=String(Vel,DEC);
  Speed=Velocidad.length();
  switch (Speed)
  {
    case 1: Velocidad2="  "+Velocidad;
            break;
    case 2: Velocidad2=" "+Velocidad;
            break;
    default: Velocidad2=Velocidad;
            break;
                     
  }
  module.setDisplayToString(Velocidad2, 0,5);
  Modo_Hud=0;
}

void Display_Fuel()
{
  module.setDisplayToString("FUEL",0,0);
  Fuel=String(TramaSerie[6], DEC);
  Fuel_Remaining=Fuel.length();
  switch (Fuel_Remaining)
  {
    case 1: Fuel2="  "+Fuel;
            break;
    case 2: Fuel2=" "+Fuel;
            break;
    default: Fuel2=Fuel;
            break;
  }
  module.setDisplayToString(Fuel2, 0, 5);
  Modo_Hud=1;
}

void Borrar_Display()
{
  if (Modo_Hud!=99)
  {
      module.setLEDs(0);
      module.clearDisplay();
  }
  Modo_Hud=99;
}

void Test_Display()
{
  module.setLEDs(leds[8]);
  module.setDisplayToString("TM1638OK",0,0);
  Modo_Hud=98;
}

void Display_DeltaTime1()
{
  char buffer[8];
  buffer[0]=TramaSerie[7];
  buffer[1]=TramaSerie[8];
  buffer[2]=TramaSerie[9];
  buffer[3]=TramaSerie[11];
  buffer[4]=TramaSerie[12];
  buffer[5]='\0';
  module.setDisplayToString("F1", 0,0);
  module.setDisplayToString(buffer, 0b010000,3);
  Modo_Hud=2;
}


decir que por supuesto no lo hice yo claro esta, si alguien me editara eh indicara cual es el valor a cambiar , si me lo edita mejor aun muchisimas gracias
4  International / Software / Re: ayuda arduino rfactor on: November 21, 2012, 09:45:04 am
primero que nada muchisimas gracias por la ayuda y la aportacion, pero esto de momento no me vale de nada yo no hago un copkit de movimiento ni tampoco de momento necesito para led , lo que queria saber era porque no me detecta los botones rfactor ni siquiera windows detecta los pulsadores o interructores , igual es que no vale para ello,otra cosa sera cuando intente poner un lcd dgital pero aqui ni el skect hace que detecte los botones ni nada de eso haber si alguien aclarar mas de todas maneras muy agradecido smiley-wink
5  International / Software / Re: ayuda arduino rfactor on: November 21, 2012, 08:36:40 am
pues esa es la cosa yo no compre otra placa que era americana y valia porque vi esta y le di mayores posibilidades a arduino ya te digo que soy un desconocido creia mas facil , el drivers esta bien en administrador de dispositivos perfecto y dentro del ide bien me carga el skect y lo verifico y esta bien puesto que es uno de los de prueba o demostracion pero aunque el led me enciende y apaga pense igual necesito otro driver para que interactue porque la realidad mia es que ni rfactor lo detecta ni un programita emulador llamado spader tampoco, le doy a botones y no se activa nada si pulso teclado raton o lo que sea si lo pilla pero el conectado a arduino nada de nada,

en lo del puerto serial me entra por com3 en administrador de dispositivos y en el ide tambien sale com3 no se que hacer, lo unico seria que alguien probara el skect de button y tuviera rfactor y confirmara si le detecta a mi desde luego nada haber si puedes probar por favor o me dices si es otra cosa y muchisimas gracias
6  International / Software / ayuda arduino rfactor on: November 21, 2012, 06:58:56 am
soy un novato ..cuando hago una prueba de ejemplo de boton funciona y windows me detecta sin problemas el usb y carga el skect , pero si quiero asignar al boton dentro del juego a una asignacion el pulsador que ya funciona encendiendo y apagando el led, rfactor no lo detecta cuando lo pulso o  lo suelto, la placa funciona bien y he bajado driver y demas del ide osea que me pasa a arduino sin problemas el skect , cual podria ser el  problema????  necesito algun otro driver para interactuar? gracias  smiley-confuse
7  International / Proyectos / arduino mega 2560 on: November 20, 2012, 02:52:06 pm
hola me he iniciado en arduino por un proyecto de un volante para rfactor, queria poner 20 botones o pulsadores mejor dicho dos potenciometros tres conmutadores de 6 posiciones, por ellos es que compre la placa mega tenia salidas suficientes y pense que era mas facil la verdad , pero vaya ignorancia la mia que me he liado haber si alguien me echa una mano, en esquema, y codigo..

problema 1.- cuando hago una prueba con boton funciona y windows me detecta sin problemas el usb pero si quiero asignar al boton dentro del juego a una asignacion el pulsador que ya funciona encendiendo y apagando el led, rfactor no lo detecta cuando lo pulso o  lo suelto, la placa funciona bien y he bajado driver y demas del ide osea que me pasa a arduino sin problemas el skect , cual es el problema????  ayuda por favor    smiley-confuse
Pages: [1]