[Progettino] Arduino + Videogame rFactor = Cockpit

[smiley=beer.gif]

Salve, qualcuno mi avrà già risposto nel forum e sa che sono abbastanza novizio nel mondo dell' Elettronica e di Arduino.

Uno degli obbiettivi che mi ero posto con Arduino era proprio costruire una sorta di Cockpit da auto in stile formula 1 con i Giri Motore (Rpm) la velocità e la marcia inserita....

Cercando su internet e raccogliendo varie informazioni sono riuscito ad interfacciare finalmente il videogioco rFactor ( famoso simulatore abbastanza "professionale" di guida per pc )

Per interfacciare rFactor e Arduino uso il programma X-SIM che legge i dati del gioco ( ma anche di altri videogiochi di guida come GTR RaceX... ) mi permette di scartare quelli inutili e inviare via COM quelli che mi servono.

http://www.x-simulator.de/main/en

Oggi mi è arrivato il display LCD e per la prima volta l'ho connesso ad Arduino ed incredibilmente sono riuscito a printare l' Hello World.

Successivamente caricato lo sketch per la lettura da seriale e la trasmissione via LiquidCrystal sono riuscito a leggere la velocità sull' LCD.

Video :D http://www.youtube.com/watch?v=7vSq6vyDzRk

C'è solo un piccolo problemino... Non capisco perchè mi riscrive Speed più volte :-/

penso che c sia un errorino nel codice prova a postarlo tu il display come lo aggiorni? ogni volta scrivi speed e poi la velocita senza cancellare o cancelli tutto lcd scrivi speed poi la velocita o scrivi una volta speed poi ogni volta sposti il cursore nella posizione e scrivi la vel?

io ho preso direttamente il codice tra gli esempi di LiquidCrystal.

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup(){
    // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // initialize the serial communications:
  Serial.begin(9600);
}

void loop()
{
  // when characters arrive over the serial port...
  if (Serial.available()) {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) {
      // display each character to the LCD
      lcd.write(Serial.read());
    }
  }
}

aaa io avevo fatto in un altro modo allora penso che sia perche xsim continua a mandare la trasmissione della velocita e quindi tu vedi il primo completo mentre il secondo lo vedi solo per la scritta speed enlla sezione exibition c'era un topic dove io avevo preso l'esempio per fare delle prove 3 mesi fa e quello funzionava bene e riuscivo a comandare anche deiservo e dei led prova a cercare nella sezione exibitione e trovi qualcosa che puo' andar bene

ti ricordi il titolo del topic o di cosa trattasse? :-/

e il titolo mi sembra era x sim cluster o qualcosa del genere cmq tu scrivi xsim e vedrai che ti uscirà

trovato ma il mio è un altro "problema" riguarda più che altro LiquidCrystal ;) ;)

non vorrei che xsim invii tramite seriale proprio quello che leggi

perche tu alla fine della fiera prendi e trasferisci tutto quello che arriva tramite la seriale quinid guyarda la parte xsim