Projet bac, logitech g 25 et beaucoup d'espoir !

Bonjours a tous !
Avant tout, merci de continuer a s'occuper comme vous le faites de se forum, il est très clair, et agréable a lire!
voila, cette année c'est le bac ! Etant en terminal Sti 2D spécialité Sin ( systeme informatique numerique ) j'ai, avec deux autres camarades à réaliser un projet parmit une liste proposé par nos professeurs.
Avec un passionné de Rallye avec nous, il nous semblait evident que cela allait avoir un rapport avec les voitures !
Voici en gros notre projet :
Récupérer les informations du volant logitech G25( volant et pédales ) et retransmettre ces données sous forme de courbes sous Excel.
Et programmer donc l'ensemble sous arduino.
Ne connaissant le "C arduino" que depuis septembre, et n'étant pas un professionnel d'excel, je suis actuellement dans une impasse !

j'ai lus un topic : http://forum.arduino.cc/index.php/topic,33167.0.html
mais je n'ai pas réussi a tout comprendre :confused:
Si quelqu'un accepterais de m'aider, ou du moins juste de m'expliquer comment programmer pour recupérer ces données, j'en serai fort reconnaissant !

merci d'avance, et bonne continuation !

// un jeune en difficulté x)

Ah bin tiens j'étais sûr de retomber sur ce topic xD

Phase 1 : récupérer les info du G25. Question "idiote" : pourquoi vouloir passer par un Arduino pour envoyer les données au PC par série alors que le g25 a l'USB ?

Pour éviter de partir dans tout les sens comme cela le fait souvent avec ce genre de sujet commences par nous dire clairement tes impositions.

Ici les impératifs sont très souvent l'optimisation des fonctionnalités, ce qui convient très bien pour des projets classiques mais qui peut être en opposition avec ceux de ton professeur.

Les impératifs des professeurs sont généralement d'ordre pédagogique. Ton professeur vous transmis ses exigences, exposes les nous le plus clairement possible, oui je sais au début vous aurez un peu de mal à maîtriser le sujet, mais fais le maximum d'efforts pour être complet.

j'ai lus un topic : http://forum.arduino.cc/index.php/topic,33167.0.html
mais je n'ai pas réussi a tout comprendre :confused:
Si quelqu'un accepterais de m'aider, ou du moins juste de m'expliquer comment programmer pour recupérer ces données, j'en serai fort reconnaissant !

Apprends à être précis : ta question est trop vague on ne sait pas ce que tu as compris et ce que tu n'as pas compris.

PS : petits conseils pratiques

  • pas de référence à un composant sans lien vers sa datasheet, sinon soit tu n'aura pas de réponse soit tu perdra inutilement du temps et le temps passe très vite !
  • le code devra être placer entre les balises code (icone #)

Bon courage

Bonjour,

J’ai comme un doute là, le G25 c’est pas un volant/pédale USB ?
Si oui, c’est déjà très mal parti car faire de l’usb host (=lire des info d’un périphérique usb) n’est pas possible avec une carte arduino classique.

Donc +1 pour 68tjs, ce serait bien de savoir ce que tes profs veulent faire et suivant quelles contraintes.

Merci a tous pour vos réponses !
Tout d’abord, je tiens a m’excuser d’avoir été si loooooong pour revenir sur ce topic, le lycée, et sa “superbe” connexion pare-feu m’ont un peu bloqué…
Alors, oui, pour répondre a vos messages, après réflexion, utiliser une RS 232 a été beaucoup plus simple ^^
j’avoue avoir été un peu flou dans mes explications, le but du projet étant avant tout de nous faire découvrir, et de nous familiariser avec Arduino.
Je vous joins le programme réalisé ! ( Nous avons une arduino UNO et un G 25(qui fonctionne bien en USB)) :

#define CodeurA 2
#define CodeurB 3

int val = 0;
//int sensorMin = 0;
//int sensorMax = 900;


void Interrupt()
{
if (digitalRead(CodeurB))
val++;
else
val--;
}

void setup()
{
  pinMode(CodeurA, INPUT);
  pinMode(CodeurB, INPUT);
  attachInterrupt (0, Interrupt, FALLING);
  
  Serial.begin (9600);//initialistaion du moniteur série
}

void loop()
{
  
  digitalRead(CodeurA == val);
  Serial.print(val);
  Serial.print("  ");
  Serial.print('\t');

  
  delay(100);
  
   int pedale_acc = analogRead (A0);
   int pedale_frein = analogRead (A1);
   Serial.print(pedale_acc);
   Serial.print("  ");
   Serial.print('\t');
   Serial.print(pedale_frein);
   Serial.println("  ");
     
 //if (pedale_acc > sensorMax) pedale_acc = sensorMax;
 //if (pedale_acc < sensorMin) pedale_acc = sensorMin;
 pedale_acc = constrain(pedale_acc, 0, 900);

 //if (pedale_frein > sensorMax) pedale_frein = sensorMax;
 //if (pedale_frein < sensorMin) pedale_frein = sensorMin;
 pedale_frein = constrain(pedale_frein, 0, 900);
  
 
}

Le but étant ici, simplement d’affiché sur TeraTerm les valeurs des potentiomètres ( pédales) et du codeur incrémental ( volant).
Par la suite, il suffit de récupérer le journal TeraTerm et de Ctrl+c, Ctrl+v sous excel pour obtenir nos courbes.

Ici, notre cahier des charges est donc réalisé !
Mais ( petit mais ^^ ) avec mon groupe, il nous semble étrange de ne pas avoir la notion du temps dans ces courbes… Aussi, nous avons commencé a regarder pour ajouter une sorte d’horloge fictive, qui commencerais en même temps que le programme, et nous donnerai une information du temps passé.

exemples : programme start : Timer = 0;
premiere valeur ( 1 valeur toutes les 100ms) : timer = 100ms
deuxieme valeur : timer = 200 ms
etc …

Pour ce faire, nous disposons d’un module Tiny RTC I2C
voila, si quelqu’un aurait une idée ? :slight_smile:

merci, et encore pardon pour ce long temps d’absence !