Principe et objectif

DéfinitionFichier csv

Un fichier csv est un fichier au format texte, le plus souvent destiné à contenir des données sous forme de chaînes de caractères ou numériques.

csv est l'acronyme anglais de Coma Separated Values, qu'on peut traduire littéralement par "Valeurs séparées par des virgules".

Ce type de fichier s'édite principalement avec deux types de programmes :

  • Un éditeur de texte du type Notepad (Et pas un traitement de texte).

  • Un tableur (Libreoffice Calc ou Excel) qui est capable d'importer le fichier en reconnaissant le caractère utilisé pour séparer les différentes valeurs.

Ci-contre, l'affichage d'un fichier csv dans l'éditeur de texte (à gauche). Les données sont séparées par le caractère ;. À droite, le même fichier importé dans un tableur : le ; est éliminé et les données se répartissent sur deux colonnes.

Affichage d'un fichier csv dans un éditeur de texte et dans un tableurInformations[1]

Principe

L'objectif n'est plus seulement l'affichage d'une grandeur physique sur le moniteur série ou sur un écran LCD mais l'enregistrement de ses variations au cours du temps dans un fichier texte exploitable dans un tableur ou dans un logiciel de traitement de mesures du type Regressi.

Les instructions transmises à la carte Arduino sont modifiés afin d'obtenir un fichier texte correctement structuré :

  • Prévoir une variable deltaT pour paramétrer l'intervalle entre deux mesures. Elle sera utilisée avec une variable temps pour accéder à la date mesurée en continu par la carte.

  • L'envoi des données vers le moniteur série est construit de façon à structurer le futur fichier texte. On écrit en particulier le caractère choisi pour séparer les champs de données. L'envoi des mesures sur le moniteur série s'effectue ligne par ligne : valeur en abscisses, séparateur de champs de données ; puis valeur en ordonnées avant retour à la ligne (voir ci-dessous).

1
    date = date + (millis() - temps) / 1000.0;//Calcul de l'instant t de la mesure
2
    Temperature = Calc_Temp();//Relevé de la température
3
    //Écriture des valeurs
4
    Serial.print(date);
5
    Serial.print(";");
6
    Serial.println(Temperature);
7
    temps = millis();//On mesure le temps de la carte.
8
    delay(1000 * DeltaT);//On attend pendant la durée définie entre chaque mesure

Au lieu d'ouvrir le Moniteur série , on exécute un programme qui capture les données du port série. Il en existe plusieurs. On propose dans cette partie d'utiliser le logiciel gratuit Coolterm.