Lecteur de valeurs de joystick par fichier carte SD


bonjour à tous, je vous met ci-dessous mon programme et mon soucis :

code: [select]
// --- inclusion des librairies ---
#include <spi.h>
#include <sd.h>
#include <tinkerkit.h>
#include <servo.h>

float voltage;
const int sdcard=(50,51,52,53); // broche utilisée pour sélectionner la sd card
tkjoystick joystick(i0, i1);
int test; // variable utilisée pour tester valeur renvoyée par fonctions sd card

int x = 0;      // variable pour la valeur x du joystick
int y = 0;      // variable pour la valeur y du joystick
int xaxisvalue = 0;
int yaxisvalue = 0;

servo myservo;

file file; // objet file
file root; // objet root pour le répertoire racine

void setup()   { // debut de la fonction setup()

serial.begin(115200); // initialise connexion série à 115200 bauds
myservo.attach(9);
pinmode(53, output); // met la broche 10 (ss) en sortie (nécessaire avec module ethernet)
digitalwrite(53, high); // mais désactive le  circuit intégré w5100 du module ethernet!

  //----- initialisation de la carte sd -----
  serial.println("initialisation de la sd card...");

  pinmode(53, output); // laisser la broche ss en sortie - obligatoire avec librairie sd

  test=sd.begin(sdcard); // initialisation de la carte sd avec broche 4 en tant que cs - renvoie true/false

  if (test!=true) { // si initialisation n'est pas réussie
    serial.println("echec initialisation!"); // message port série
  }
  else { // si nitialisation réussie
    serial.println("initialisation reussie !"); // message port série

  //----- affiche le contenu du répertoire

  root = sd.open("/"); // ouvre la sd card à la racine

  serial.println("repertoire racine ouvert !");

  } // fin si initialisation réussie
} // fin de la fonction setup()

void loop(){ // debut de la fonction loop()

int valeura3 = analogread(a3);
voltage=map(valeura3,0,1024,0,255);

  //---- efface fichier au préalable ---
  test=sd.remove("data.txt"); // efface fichier et mémorise résultat opération 
  if (test)serial.println("fichier efface"); // affiche message si fichier bien effacé

  //---- crée fichier en écriture ---
  file = sd.open("data.txt", file_write); // ouvre le fichier en écriture
  // nb : le fichier est créé si il n'existe pas !

  //---- test si fichier dispo en écriture
  if (!file){ // si fichier pas dispo

    serial.println ("erreur ouverture fichier !");

  } // fin if

  else { // si le fichier existe et est ouvert
    serial.println ("fichier pret pour ecriture !");

    // premiere ligne du fichier csv - entete avec liste des champs
    file.println("numeromesure  ;  x  ;  y  ;  x2  ;  y2  ;  millis");

    serial.println ("enregistrement en cours :");

    (int i=0; i<1000; i++) { // n mesures can

      x = joystick.readx(); 
      y = joystick.ready();

      // valeur premier champ
      file.print(i), file.print(';');

      // valeur deuxieme champ
      file.print(x), file.print(';');

      // valeur troisieme champ
      file.print(y), file.print(';');

      // valeur quatrième champ
      file.print(millis());

      // le dernier champ doit se terminer par un saut de ligne +++
      file.println();

      delay(10); // entre chaque mesure
      if ((i+1)%50) serial.print("."); else  serial.println(".");// affiche ligne de 50 points
    } // fin boucle for

    file.close(); // ferme le fichier

  } // fin else
 
 
//manque de la partie nécessaire pour l'utilisation des valeurs du fichier texte afin d'envoyer les valeurs au servo





 
 


//fin du manque de la partie

    if ( x  < 300)
  {
 myservo.write(360);
  }
  if ( x > 700 )
  {
   myservo.write(0);
   }
   if( x < 700 && x  > 300)
   {
     myservo.write(90);
 }
}


comme vous le voyez, j'initialise la carte sd, j'enregistre les valeurs de l'axe x et y du joystick sur un fichier texte sur la carte sd, et là c'est qu'une partie est manquante ( que j'ai montré par 2 commentaires ) : je ne sais pas quelle commande j'ai besoin pour faire en sorte que les valeurs qui sont dans la partie servo soit les valeurs x et y du fichier ( qui sont celle du joystick ).

merci de vos futurs réponses



Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Lecteur de valeurs de joystick par fichier carte SD


arduino

Comments