PCSHM (Playseats, cockpits et simulateurs home-made) Index du Forum PCSHM (Playseats, cockpits et simulateurs home-made)
Discussions à propos des cockpits et simulateurs faits maison, dédiés aux jeux de courses automobiles.
 
 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Aide dashboard
Aller à la page: 1, 2  >
 
Poster un nouveau sujet   Répondre au sujet    PCSHM (Playseats, cockpits et simulateurs home-made) Index du Forum -> Cockpits, simulateurs, addons ... -> Addons
Sujet précédent :: Sujet suivant  
Auteur Message
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Dim 25 Oct - 18:08 (2015)    Sujet du message: Aide dashboard Répondre en citant

Salut

J'aurai besoin d'un coup de main pour la configuration d'un dashboard TM1638 celui-ci:
http://fr.aliexpress.com/item/8-Bit-Digital-LED-Tube-8-Bit-TM1638-Key-Displ…

J'ai aussi suivi le tuto a eaorobbie.
http://www.xsimulator.net/community/threads/tm1638-multiply-page-display-wi…

Télécharger son premier code et mis la bibliotheque T1638 ,puis fait ce qu'il a indiquer en config dans game dash.



Dash2 et Dash3 on été configurer aussi ,pas sur le screen, tout ce que j’obtiens est la lumière rouge du dashboard comme quoi elle est bien alimenter , en jeu rien ne se passe (tester sur AC) y a t'il une config a faire aussi sur la arduino du simulateur en interface 2 pour le dash?
J'utilise une arduino uno le code c'est bien téléverser mais peut être pas compatible avec mon dash c'est une copie du T1638 , le port com7 est bon.

Merci pour votre aide Wink
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
Publicité






MessagePosté le: Dim 25 Oct - 18:08 (2015)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Lun 26 Oct - 11:35 (2015)    Sujet du message: Aide dashboard Répondre en citant

Difficile à dire comme ça... Il faudrait que l'on teste nous aussi !
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Lun 26 Oct - 12:47 (2015)    Sujet du message: Aide dashboard Répondre en citant

Je vais voir avec la méthode de vthinsel sur x-simulator ,c'est pas très clair pour moi dans les tuto Sad
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Lun 26 Oct - 12:55 (2015)    Sujet du message: Aide dashboard Répondre en citant

Envoie moi le code Arduino stp, je vais regarder si je vois des informations dedans
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Lun 26 Oct - 13:04 (2015)    Sujet du message: Aide dashboard Répondre en citant

La je ne peu pas ,je suis au taf ,le code c'est le premier sur le tuto mis en lien dans mon premier post sinon je te donne ça ce soir Wink
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Lun 26 Oct - 19:45 (2015)    Sujet du message: Aide dashboard Répondre en citant

Voici le code utiliser.

http://www.sendspace.com/file/ciagdl
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Mar 27 Oct - 17:55 (2015)    Sujet du message: Aide dashboard Répondre en citant

Je vais essayer de regarder ça mais en ce moment je suis complètement débordé Sad
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Mar 27 Oct - 19:32 (2015)    Sujet du message: Aide dashboard Répondre en citant

Pas de souci simon , je suis aussi sur le shield j'essaie de trouver se qui ne va pas pour les deux , sa me permet de comprendre aussi pendant les recherches Wink
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
Sear
Modérateur
Modérateur

Hors ligne

Inscrit le: 31 Juil 2014
Messages: 2 292
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Haute-Normandie
Département (France): 27- Eure
Ville: Bourg Achard
21/08/0120 Masculin Lion (24juil-23aoû)
Point(s): 52 073
Moyenne de points: 22,72

MessagePosté le: Mer 28 Oct - 09:41 (2015)    Sujet du message: Aide dashboard Répondre en citant

ha oui, là c'est pas évident de t'aider, si tu as Race07 essaye avec lui, vue que le tuto est basé sur ce jeu, il devrait fonctionner
_________________
La vita è troppo corta per non guidare italiano


Revenir en haut
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Mer 28 Oct - 11:50 (2015)    Sujet du message: Aide dashboard Répondre en citant

Je vais regarder ça de plus près, et je te dis ce qu'il faut mettre comme paramètres.
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Mer 28 Oct - 12:51 (2015)    Sujet du message: Aide dashboard Répondre en citant

Donc pour le cablage  :
Ard / TM1638
 7          STB0
 8          CLK
 9          DIO
GND      GND
5V         VCC


Vitesse de communication de l'Arduino : 57600


Tu ne dois voir afficher que les RPM (Leds), le rapport enclenché et la vitesse.


Les boutons 1 et 2 te permettent d'avoir un affichage différent des Leds.
Avec le bouton 3, tu peux définir le rpm Max (en gros tu accélères à fond au moment où tu appuies sur le bouton).
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Mer 28 Oct - 12:54 (2015)    Sujet du message: Aide dashboard Répondre en citant

Merci à vous
Vous inquiéter pas pour le moment je suis sur le shield .
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
cluclu
Passionné
Passionné

Hors ligne

Inscrit le: 20 Mai 2015
Messages: 264
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Picardie
Département (France): 02- Aisne
12/11/1988 Masculin
Point(s): 575
Moyenne de points: 2,18

MessagePosté le: Ven 30 Oct - 19:06 (2015)    Sujet du message: Aide dashboard Répondre en citant

J'étais absent depuis un moment sur le fofo et je vois que tu es embêté avec le dashboard

J'ai bien galéré aussi à trouver toute les infos quand j'ai fais le miens  si tu as besoin de mes codes ou autre pour tester hésites pas
_________________
Mon simulateur 2 DOF + Dashboard


Revenir en haut
Visiter le site web du posteur
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Ven 30 Oct - 21:02 (2015)    Sujet du message: Aide dashboard Répondre en citant

Merci cluclu sa m'intéresserai effectivement
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
cluclu
Passionné
Passionné

Hors ligne

Inscrit le: 20 Mai 2015
Messages: 264
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Picardie
Département (France): 02- Aisne
12/11/1988 Masculin
Point(s): 575
Moyenne de points: 2,18

MessagePosté le: Ven 30 Oct - 21:49 (2015)    Sujet du message: Aide dashboard Répondre en citant

Je te fais un récap avec les fichier demain matin Wink 
_________________
Mon simulateur 2 DOF + Dashboard


Revenir en haut
Visiter le site web du posteur
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Ven 30 Oct - 22:15 (2015)    Sujet du message: Aide dashboard Répondre en citant

Si ça t'intéresse j'en ai un aussi :B
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Ven 30 Oct - 23:05 (2015)    Sujet du message: Aide dashboard Répondre en citant

Pourquoi pas simon Wink
Avec tous ça sa va fonctionner Okay


Merci à vous
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
cluclu
Passionné
Passionné

Hors ligne

Inscrit le: 20 Mai 2015
Messages: 264
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Picardie
Département (France): 02- Aisne
12/11/1988 Masculin
Point(s): 575
Moyenne de points: 2,18

MessagePosté le: Ven 30 Oct - 23:53 (2015)    Sujet du message: Aide dashboard Répondre en citant

Bon j'ai un peu de temps ce soir donc je te met ce que j'ai sur ma config

Un arduino Uno dédié à la carte d'affichage TM1638

Dans l'arduino j'ai ce code :

 
Code:


        
        /*   
         Arduino code for simple dashboard with TM1638
        */

        // Serial parser for Interface - Output : M<Dash2>S<Dash1>G<Dash3>
        // Serial extended parser with kart racing pro : S<Dash1>M<Dash2>G<Dash3>W<Dash4>O<Dash5>F<Dash7>
        // Serial parser for Shutdown - Output : Z00
        // M : rpm              (16bit - hexadecimal output)
        // S : speed            (16bit - hexadecimal output)
        // G : gear             (16bit - hexadecimal output)
        // O : oil temp         (16bit - hexadecimal output)
        // W : water temp       (16bit - hexadecimal output)
        // F : fuel             (16bit - hexadecimal output)
        // L : lap              (16bit - hexadecimal output)
        // P : position         (16bit - hexadecimal output)
        // Z : clear            (to clear display and max rpm value)
        //
        // for dashboard defined in TM1638.h
        // Pin D3 : STB0 - strobe
        // Pin D4 : CLK - clock
        // Pin D5 : DIO - data

        ////////////////////////////////////////////////////////////////////////////////
        // DashBoard include
        ////////////////////////////////////////////////////////////////////////////////   
        // module can be downloaded from http://forum.arduino.cc/index.php?topic=190472.0
        // (search TM1638_v1.02.zip)
        #include <TM1638.h> 
        #include <TM1638Font.h>
        TM1638 module;
        
        // buttons TM1638 (left to right)
        #define btnSpeed      0b00000001 // 1
        #define btnGear       0b00000010 // 2
        #define btnRPM        0b00000100 // 4
        #define btnOIL        0b00001000 // 8
        #define btnWater      0b00010000 // 16
        #define btnFuel       0b00100000 // 32
        #define btnLAP        0b01000000 // 64
        #define btnPosition   0b10000000 // 128

        ////////////////////////////////////////////////////////////////////////////////
        // EEPROM include
        ////////////////////////////////////////////////////////////////////////////////          
        #include "EEPROM.h"

        ////////////////////////////////////////////////////////////////////////////////
        // variable init
        ////////////////////////////////////////////////////////////////////////////////          
        int i;
        unsigned int carspeed;      // holds the speed data (0-65535 size)
        unsigned int gear;          // holds gear value data (0-65535 size)
        unsigned int rpm;           // holds the rpm data (0-65535 size)
        unsigned int oil;           // holds the oil temp data (0-65535 size)
        unsigned int water;         // holds the water temp data (0-65535 size)
        unsigned int fuel;          // holds the fuel data (0-65535 size)
        unsigned int lap;           // holds the lap data (0-65535 size)
        unsigned int posit;         // holds the position data (0-65535 size)
        
        unsigned int rpmleds;          // holds the 8 leds values
        unsigned int rpmmax = 5000;    // retrieves from rpm live with minimum setting on initialization and Shutdown - Output
        unsigned int beforeButton = 0; // holds the previous pressed button        
        unsigned int valButton = 0;    // retrieve the pressed buttons
        unsigned int offset = 0;       // holds the display position
        unsigned int leftButton;       // holds the pressed button (default left gear)
        unsigned int rightButton;      // holds the pressed button (default right speed)
        unsigned long timeButton;      // holds the first pressed button time
        
        byte speeddata = 0;         // marker that new data are available
        byte geardata = 0;          // marker that new data are available   
        byte rpmdata = 0;           // marker that new data are available
        byte oildata = 0;           // marker that new data are available
        byte waterdata = 0;           // marker that new data are available
        byte fueldata = 0;           // marker that new data are available
        byte lapdata = 0;           // marker that new data are available
        byte positiondata = 0;           // marker that new data are available
        
        // char* neutral = "n";        // sets the character for neutral
        char* neutral = "0";        // sets the character for neutral
        char* reverse = "r";        // sets the character for reverse
           
        char* namesz = "88888888"; // sets a custom logo start up banner
       
        ////////////////////////////////////////////////////////////////////////////////
        // INITIALIZATION
        ////////////////////////////////////////////////////////////////////////////////
        void setup()
        {
          // serial initialization
          Serial.begin(115200);

          timeButton = millis();
         
          // initialize the screen with leds test
          module.clear();                       // clears the display from garbage if any
          module.setChars(namesz);           // prints the banner
          delay(1000);                                 // small delay 1 sec
          module.clear();                       // clears the display
          module.setLEDs(0b11111111 , 0b00000000); // all green leds
          delay(1000);                                 // small delay 1 sec
          module.setLEDs(0b00000000 , 0b11111111); // all reds leds
          delay(1000);                                 // small delay 1 sec
          module.setLEDs(0b00000000 , 0b00000000); // turn off all leds
         
          // read saved display config
          valButton = EEPROM.read(1020);
          rightButton = valButton;
          valButton = EEPROM.read(1021);
          leftButton = valButton;
          // if EEPROM empty
          if (rightButton == 255 && leftButton == 255){
            leftButton = btnGear; 
            rightButton = btnSpeed;
          }
          // show saved display config
          butDisp(leftButton,0);
          butDisp(rightButton,7);
          delay(1000);
          module.clear();           
        }
       
        ////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////// Main Loop ////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////
        void loop()
        ////////////////////////////////////////////////////////////////////////////////
        {

          // read input data
          readSerialData();
          
          // read pressed button
          buttons();

          // update dashboard
          dashboard();

        }
       
        ////////////////////////////////////////////////////////////////////////////////
        // Procedure: read serial data
        ////////////////////////////////////////////////////////////////////////////////
        void readSerialData()
        ////////////////////////////////////////////////////////////////////////////////
        {
          byte Data[5]={'0','0','0','0','0'};

          // parse the buffer
          if (Serial.available()>4){
            Data[0]=Serial.read();                   // read command
            if (Data[0]=='M'){                       // if rpm data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              rpm = NormalizeData(Data);
              rpmdata=1;                             // we got new data!       
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }
            if (Data[0] == 'S' ){                    // if speed data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              carspeed = NormalizeData(Data);
              speeddata=1;                           // we got new data!
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }
            if (Data[0] == 'G' ){                    // if gear data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              gear = NormalizeData(Data);
              geardata=1;                            // we got new data!
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }             
            if (Data[0] == 'O' ){                    // if oil data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              oil = NormalizeData(Data);
              oildata=1;                             // we got new data!
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }             
            if (Data[0] == 'W' ){                    // if water data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              water = NormalizeData(Data);
              waterdata=1;                           // we got new data!
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }             
            if (Data[0] == 'F' ){                    // if fuel data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              fuel = NormalizeData(Data);
              fueldata=1;                            // we got new data!
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }             
            if (Data[0] == 'L' ){                    // if lap data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              lap = NormalizeData(Data);
              lapdata=1;                             // we got new data!
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }             
            if (Data[0] == 'P' ){                    // if position data
              Data[1]=Serial.read();                 // store high byte
              Data[2]=Serial.read();                 //
              Data[3]=Serial.read();                 //
              Data[4]=Serial.read();                 // store low byte
              posit = NormalizeData(Data);
              positiondata=1;                        // we got new data!
              if (Serial.available()>4){
                Data[0]=Serial.read();               // re-read command
              }
            }             
            if (Data[0] == 'Z' ){                      // if Shutdown - Output
              Serial.flush();
              rpmmax=5000;                             // reset rpmmax
              module.clear();                          // clear display   
              module.setLEDs(0b00000000 , 0b00000000); // clear leds
            }             
          }
          if (Serial.available()>60) Serial.flush();
        }

        ////////////////////////////////////////////////////////
        // Procedure: display values
        ////////////////////////////////////////////////////////
        void dashboard()
        ////////////////////////////////////////////////////////
        {   
          if (speeddata == 1) {
            // filter of negative value
            // reported from 65535 to down in some games
            if (carspeed > 50000){                            // reverse velocity in some games are negative value
              carspeed = 65536 - carspeed;                    // convert positive with 16bit value
            }
            if (leftButton == btnSpeed) {
              module.setNumberPad(carspeed,2,3);              // displays numerical the speed
            }
            if (rightButton == btnSpeed) {
              module.setNumberPad(carspeed,7,4);              // displays numerical the speed
            }            
            // if (carspeed == 0){
            //   module.setChars("0",7);
            // }            
            speeddata=0;           
          } 
          if (geardata == 1) {
            if (leftButton == btnGear) {
              offset = 0;
            }
            if (rightButton == btnGear) {
              offset = 7;
            }            
            if (leftButton == btnGear || rightButton == btnGear) {
              if (gear >= 1 and gear <10 ){         
                module.setNumber(gear,offset);                        // displays numerical value of the current gear
              }
              if (gear == 0){
                module.setChars(neutral,offset);                      // displays the character for neutral
              }
              if (gear == (65535)){                                   // -1 that reprecents reverse rollover so...
                module.setChars(reverse,offset);                      // displays the character for reverse
              }
            }
            geardata=0;
          } 
          if (rpmdata == 1) {
            if (leftButton == btnRPM) {
              module.setNumberPad(rpm,3,4);
            }
            if (rightButton == btnRPM) {
              module.setNumberPad(rpm,7,5);
            }            
            // auto set max rpm
            // with filter of negative value
            // reported from 65535 to down in some games
            if (rpm>rpmmax && rpm<50000) {
              rpmmax=rpm;
            }
            rpmleds = map(rpm,0,rpmmax*1.1,0,9);              // distributes the rpm level to the 8 leds + 1 for shift change
            if (rpmleds==0){
              module.setLEDs(0b00000000 , 0b00000000);
            }
            if (rpmleds==1){
              module.setLEDs(0b00000001 , 0b00000000 );
            }
            if (rpmleds==2){
              module.setLEDs(0b00000011 , 0b00000000 );
            }
            if (rpmleds==3){
              module.setLEDs(0b00000111 , 0b00000000 );
            }
            if (rpmleds==4){
              module.setLEDs(0b00001111 , 0b00000000);
            }
            if (rpmleds==5){
              module.setLEDs(0b00011111 , 0b00000000);
            }
            if (rpmleds==6){
              module.setLEDs(0b00011111 , 0b00100000 );
            }
            if (rpmleds==7){
              module.setLEDs(0b00011111 , 0b01100000 );
            }
            if (rpmleds==8){
              module.setLEDs(0b11111111 , 0b1111111111 );
            }
            rpmdata=0;
          }
          if (oildata == 1) {
            if (leftButton == btnOIL) {
              module.setNumberPad(oil,2,3);
            }
            if (rightButton == btnOIL) {
              module.setNumberPad(oil,7,3);
            }            
            oildata=0;           
          } 
          if (waterdata == 1) {
            if (leftButton == btnWater) {
              module.setNumberPad(water,2,3);
            }
            if (rightButton == btnWater) {
              module.setNumberPad(water,7,3);
            }            
            waterdata=0;           
          } 
          if (fueldata == 1) {
            if (leftButton == btnFuel) {
              module.setNumberPad(fuel,1,2);
            }
            if (rightButton == btnFuel) {
              module.setNumberPad(fuel,7,2);
            }            
            fueldata=0;           
          } 
          if (lapdata == 1) {
            if (leftButton == btnLAP) {
              module.setNumberPad(lap,1,2);
            }
            if (rightButton == btnLAP) {
              module.setNumberPad(lap,7,2);
            }            
            lapdata=0;
          } 
          if (positiondata == 1) {
            if (leftButton == btnPosition) {
              module.setNumberPad(posit,1,2);
            }
            if (rightButton == btnPosition) {
              module.setNumberPad(posit,7,2);
            }            
            positiondata=0;
          } 
        }

        ////////////////////////////////////////////////////////
        // Procedure: read pushed button
        ////////////////////////////////////////////////////////
        void buttons()
        ////////////////////////////////////////////////////////
        {        
          valButton = module.getButtons();
          if (valButton > 0 && valButton != beforeButton){
            // if second button
            if (millis()-timeButton < 3000){
              // store slection
              leftButton = valButton;
              EEPROM.write(1021,leftButton);
              //
              butDisp(leftButton,0);
              delay(300);
              module.clear();
            }
            // if first button
            if (millis()-timeButton > 3000){
              module.clear(); 
              // store selection
              rightButton = valButton;
              EEPROM.write(1020,rightButton);              
              leftButton = 0;
              EEPROM.write(1021,leftButton);              
              //
              butDisp(rightButton,7);
              delay(300);
              module.clear(); 
              timeButton = millis();              
            }
          }
          beforeButton = valButton;
        }
        
        ////////////////////////////////////////////////////////////////////////////////
        // Function: display select function
        ////////////////////////////////////////////////////////////////////////////////
        void butDisp(int iButton,int off){
        ////////////////////////////////////////////////////////////////////////////////
              if (iButton == btnSpeed){
                  module.setChars("S",off);
              }
              if (iButton == btnGear){
                  module.setChars("G",off);
              }
              if (iButton == btnRPM){
                  module.setChars("M",off);
              }
              if (iButton == btnOIL){
                  module.setChars("O",off);
              }
              if (iButton == btnWater){
                  module.setChars("W",off);
              }
              if (iButton == btnFuel){
                  module.setChars("F",off);
              }
              if (iButton == btnLAP){
                  module.setChars("L",off);
              }
              if (iButton == btnPosition){
                  module.setChars("P",off);
              }
        }
        
        ////////////////////////////////////////////////////////////////////////////////
        // Function: convert Hex to Dec
        ////////////////////////////////////////////////////////////////////////////////
        unsigned int NormalizeData(byte x[5])
        ////////////////////////////////////////////////////////////////////////////////
        {
        unsigned int result;
  
        for (int i=1; i<5; i++)
        {
          if (x[i]>47 && x[i]<58 ){   //for xA to xF
            x[i]=x[i]-48;
          }                       
          if (  x[i]>64 && x[i]<71 ){ //for x0 to x9
            x[i]=x[i]-55;               
          }
        }    
        result = (x[1]*16*16*16+x[2]*16*16+x[3]*16+x[4]);
        return result;
        }
        




Mes branchements entre l'arduino et la carte d'affichage (corrigé le 06/11/15 suite erreur de copié collé) :

Entrée Module (input) --> Arduino
  • 1 VCC --> +5V
  • 2 GND --> GND
  • 3 CLK --> pin d9
  • 4 DIO --> pin d8
  • 5 STB0 --> pin d7

     Donc le +5V => VCC
     la masse => GND
     le pin D3 => STB0
     le pin D4 => CLK
     le pin D5 => DIO

Mes réglages de Game Dash



Startup : (ne rien mettre)

Interface : M<Dash2>S<Dash1>G<Dash3>
Shutdown : Z00


J'ai mis 20ms sur interface pour l'actualisation


Pour le Dash 1, 2 et 3



// convert to hex
TOHEX
// padding 4 byte
PAD 4 0

En réglages interface :

Outup type : SER
Com : selon ton PC
Vitesse : 115200
Data : 8
Parity : None
Stop : 1



Toutes ces infos viennent à la fois de Titouf du fofo et de ce site : http://tiptopboards.free.fr/arduino_forum/viewtopic.php?f=2&t=17



Il faut installer la librairie 1638.h dans l'arduino également



Je crois n'avoir rien oublié mais si jamais je rajouterai

Edit : j'ai oublié :ninja:

Dans Game manager tu choisis le jeu que tu veux, tu clic sur DASH et tu coche enable dash ouput en réglant 10ms ou plus si tu as besoin de moins de rafraichissement

Et pour le code Arduino ça permet sur la carte d'afficher 2 choses (perso j'ai le rapport engagé à gauche, la vitesse en km/h à droite et les leds comme compte tour) Sur Pcars rien à régler tout s'auto adapte au véhicule choisi
_________________
Mon simulateur 2 DOF + Dashboard


Dernière édition par cluclu le Ven 6 Nov - 12:39 (2015); édité 1 fois
Revenir en haut
Visiter le site web du posteur
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Sam 31 Oct - 00:33 (2015)    Sujet du message: Aide dashboard Répondre en citant

Shocked
Un grand merci , sa va beaucoup m'aider
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Sam 31 Oct - 09:26 (2015)    Sujet du message: Aide dashboard Répondre en citant

Mon code est plus ou moins le même mais avec des modifications que j'avais apporté pour piloter mon buttkicker. 


Avec celui-ci tu peux avoir pas mal de chose supplémentaires. Tu peux afficher le carburant, température eau et huile, nombre de Tours et position. 
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Mer 4 Nov - 23:58 (2015)    Sujet du message: Aide dashboard Répondre en citant

Bon j'ai essayer sa ne fonctionne pas , dans les 3 premier dash il faut bien marquer ça.
// convert to hex
TOHEX
// padding 4 byte
PAD 4 0

Le code fonctionne bien mais rien a l'afficheur, dans le code c'est les pin D3 a D5 et tu me donne D7 a D9 en branchement ,faut il le changer dans le code?
En tout cas j'ai essayer avec D3 a D5 et ça ne fonctionne pas non plus , je me pause tout de même la question si l'afficheur de chez aliexpress est bien adapter
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
Wanegain
Administrateur
Administrateur

En ligne

Inscrit le: 08 Mai 2012
Messages: 14 843
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 155 934
Moyenne de points: 10,51

MessagePosté le: Jeu 5 Nov - 16:36 (2015)    Sujet du message: Aide dashboard Répondre en citant

Cluclu, envoie lui le fichier ino directement parce qu'un copié/collé depuis le forum je pense que ça bouffe des caractères Okay
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Jeu 5 Nov - 20:03 (2015)    Sujet du message: Aide dashboard Répondre en citant

:+1 2:
Wink
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
cluclu
Passionné
Passionné

Hors ligne

Inscrit le: 20 Mai 2015
Messages: 264
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Picardie
Département (France): 02- Aisne
12/11/1988 Masculin
Point(s): 575
Moyenne de points: 2,18

MessagePosté le: Ven 6 Nov - 12:27 (2015)    Sujet du message: Aide dashboard Répondre en citant

Je ne savais pas comment faire pour envoyer le fichier Embarassed

Il me semble que c'est celui la : http://www.sendspace.com/file/e96ukw

Pour les branchements j'ai du me trompé dans mon post d'avant (un copier coller pas adéquat désolé) il faut bien faire comme marqué dans le code  :





Donc le +5V => VCC
la masse => GND
le pin D3 => STB0
le pin D4 => CLK
le pin D5 => DIO
_________________
Mon simulateur 2 DOF + Dashboard


Revenir en haut
Visiter le site web du posteur
cluclu
Passionné
Passionné

Hors ligne

Inscrit le: 20 Mai 2015
Messages: 264
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Picardie
Département (France): 02- Aisne
12/11/1988 Masculin
Point(s): 575
Moyenne de points: 2,18

MessagePosté le: Ven 6 Nov - 12:41 (2015)    Sujet du message: Aide dashboard Répondre en citant

zigzag49 a écrit:

Bon j'ai essayer sa ne fonctionne pas , dans les 3 premier dash il faut bien marquer ça.
// convert to hex
TOHEX
// padding 4 byte
PAD 4 0

Le code fonctionne bien mais rien a l'afficheur, dans le code c'est les pin D3 a D5 et tu me donne D7 a D9 en branchement ,faut il le changer dans le code?
En tout cas j'ai essayer avec D3 a D5 et ça ne fonctionne pas non plus , je me pause tout de même la question si l'afficheur de chez aliexpress est bien adapter


Pour les infos à rentrer dans DASH c'est bien ça à minima selon le jeu (c'est ma config pour Pcars)  Si les autres jeux donnent une valeur les km/h d'une autre façon il faudra appliquer une conversion (genre le jeu fournit des m/s il faudra faire l'opération pour les mettre en km/h)
_________________
Mon simulateur 2 DOF + Dashboard


Revenir en haut
Visiter le site web du posteur
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Ven 6 Nov - 15:58 (2015)    Sujet du message: Aide dashboard Répondre en citant

Merci cluclu je vois ça et tien au courant Okay
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Ven 6 Nov - 21:23 (2015)    Sujet du message: Aide dashboard Répondre en citant

Sa fonctionne toujours pas , je verrai plus tard.
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
cluclu
Passionné
Passionné

Hors ligne

Inscrit le: 20 Mai 2015
Messages: 264
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Picardie
Département (France): 02- Aisne
12/11/1988 Masculin
Point(s): 575
Moyenne de points: 2,18

MessagePosté le: Sam 7 Nov - 13:20 (2015)    Sujet du message: Aide dashboard Répondre en citant

Arf  tu as bien activé le dashboard pour ton jeu dans Game Manager ?

Ou alors ta carte n'est pas compatible avec ce code

Premièrement même si la carte n'affiche rien il faudrait voir si dans game dash tu as les valeurs qui s'affiche pendant que tu joues
_________________
Mon simulateur 2 DOF + Dashboard


Revenir en haut
Visiter le site web du posteur
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Sam 7 Nov - 21:12 (2015)    Sujet du message: Aide dashboard Répondre en citant

Apparemment le code fonctionne bienil ya bien les valeurs dans game dash.



Donc se serait un souci au niveau de l'afficheur.
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
zigzag49
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 19 Fév 2015
Messages: 3 038
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
Ville: les rosiers sur loire
18/03/1978 Masculin
Point(s): 10 100
Moyenne de points: 3,32

MessagePosté le: Sam 7 Nov - 22:08 (2015)    Sujet du message: Aide dashboard Répondre en citant

Bon en faite sa fonctionne bien ,c'est que j'ai un faux contact quelque pars arduino ou l'afficheur ,en tout cas ça marche Okay
Merci pour ton aide cluclu.
_________________
----------------------------------------
A choisir entre Parkinson et Alzheimer, je préfère perdre un peu de ma bière que d'oublier de la boire .


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 17:16 (2017)    Sujet du message: Aide dashboard

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    PCSHM (Playseats, cockpits et simulateurs home-made) Index du Forum -> Cockpits, simulateurs, addons ... -> Addons Toutes les heures sont au format GMT + 2 Heures
Aller à la page: 1, 2  >
Page 1 sur 2

 
Sauter vers:  

Index | creer un forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2017 phpBB Group
Traduction par : phpBB-fr.com powered by ArgenBLUE free template