Logo Mon Club Elec

Processing : Fichiers : Enregistrer la position de la souris à intervalle régulier dans un fichier texte

http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertCapteursComplexesDS18B20

Le langage de programmation Processing est un outil puissant pour les artistes et les développeurs qui souhaitent créer des applications interactives. Il offre une variété de fonctionnalités qui permettent de créer des expériences riches et intuitives. Une de ces fonctionnalités est la possibilité d’enregistrer la position de la souris à intervalle régulier dans un fichier texte. Cet article expliquera comment utiliser cette fonctionnalité pour créer des applications interactives plus intuitives et plus riches.

Processing : Fichiers : Enregistrer la position de la souris à intervalle régulier dans un fichier texte

Explication

  • Ce programme utilise un objet PrintWriter que l’on initialise avec un fichier existant ce qui va permettre d’ajouter les données au fichier sans l’effacer lors de la création comme le ferait l’instruction createWriter()
  • Un message est écrit dans le fichier à intervalle régulier, posant la base du datalogging avec stockage dans un fichier texte. Le format des données est ici « CSV like » ce qui permet de les utiliser immédiatement dans un tableur par simple copier-coller.

Ressources utiles

  • Aucune

Le programme

// Par X. HINAULT – Juin 2011
// www.mon-cub-elec.fr

PrintWriter output = null; // initialise un objet PrintWriter pour stocker le flux de donnée à écrire dans le fichier
//PrintWriter output;

String cheminAbsoluFichier=« /home/hinault/Bureau/trans/positions.txt »;
// le fichier doit exister – chemin entier obligatoire

long seconde0=0, comptSeconde=0; // variables des secondes

void setup() {
  // Create a new file in the sketch directory – fichier vide !
  //output = createWriter(« positions.txt »);

   output=ouvreFichier(cheminAbsoluFichier);   // ouvre le fichier existant dans un PrintWriter- le fichier doit exister – chemin entier obligatoire
   output.println(« ———— Debut Nouvel enregistrement ————-« ); // Ajoute la ligne au fichier
   output.println(« ———— Format CSV  ————-« ); // Ajoute la ligne au fichier
   output.println(« secondes; valeur1; valeur2; »); // Ajoute la ligne au fichier
}

void draw() {

  if (second()!=seconde0) { // si une seconde écoulée

    seconde0=second(); // retient dernière seconde prise en compte

    comptSeconde=comptSeconde+1; //incrémente la variable de comptage seconde

    point(mouseX, mouseY); // trace un point dans la fenetre Graphique

    output.print(comptSeconde+« ; »); // Write the coordinate to the PrintWriter
    output.print(mouseX+« ; »); // Write the coordinate to the PrintWriter
    output.print(mouseY+« ; »); // Write the coordinate to the PrintWriter
    output.println(); // Ajoute saut de ligne

    output.flush(); // Writes the remaining data from PrintWriter to the file

  } // fin if

}

void keyPressed() {
  //output.flush(); // Writes the remaining data to the file
  output.close(); // Finishes the file
  exit(); // Stops the program
}

PrintWriter ouvreFichier( String cheminAbsoluFichier) {

  // ouvre le fichier existant dans un PrintWriter- le fichier doit exister – chemin entier obligatoire

  PrintWriter pw=null;

  try //obligé ici…
  {

   // ouvre le fichier existant – le fichier doit exister – chemin entier obligatoire
    pw = new PrintWriter(new BufferedWriter(new FileWriter(cheminAbsoluFichier, true))); // true means: « append »

   }
  catch (IOException e)
  {
    // Report problem or handle it
  }

  return (pw); // renvoie l’objet pw

   // adapté de la source suivante : http://processing.org/discourse/yabb2/YaBB.pl?num=1267767630

} // fin de ouvreFichier
 

Voir ici :

Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.