Mise en œuvre

RappelContexte de la mesure

L'enregistrement des données via le logiciel CoolTerm présenté ici s'appuie sur le programme d'enregistrement de la température donné ci-dessous.

1
float date, temps, Temperature;//Définition des variables
2
int DeltaT = 1; //Intervalle entre deux mesures en secondes
3
4
void setup() {
5
  // put your setup code here, to run once:
6
  Serial.begin(9600);//initialisation Moniteur série
7
  while (Serial.available() > 0) {
8
    Serial.read();
9
  }
10
  //Écriture de la ligne d'en-tête des mesures
11
  Serial.print("t(s)");
12
  Serial.print(";");
13
  Serial.println("T(°C)");
14
  date = 0.0;//Initialisation de la date à 0
15
  temps = millis();//On relève le temps interne de la carte Arduino
16
}
17
18
float Calc_Temp() {//On définit une fonction mesurant la température
19
  float tension, RCTN, TK, TC;
20
  const float R = 547.0;//Résistance connue du pont diviseur
21
  const float B = 3450.0;//Caractéristique de la CTN
22
  const float A = 0.004407;//Coeff dans RCTN=A.exp(B/T)
23
  tension = analogRead(A0) * 5 / 1023.0;//Lecture de la tension aux bornes de la CTN
24
  RCTN = R / (5.0 / tension - 1.0);//Calcul de RCNT
25
  TK = B / (log(RCTN / A)); //Calcul de la température en K
26
  TC = TK - 273.0;//Calcul de la température en °C
27
  return TC;
28
}
29
30
void loop() {
31
  // put your main code here, to run repeatedly:
32
  if (Serial) {
33
    date = date + (millis() - temps) / 1000.0;//Calcul de l'instant t de la mesure
34
    Temperature = Calc_Temp();//Relevé de la température
35
    //Écriture des valeurs
36
    Serial.print(date, 1);
37
    Serial.print(";");
38
    Serial.println(Temperature, 1);
39
    temps = millis();//On mesure le temps de la carte.
40
    delay(1000 * DeltaT);//On attend pendant la durée définie entre chaque mesure
41
  }
42
}

MéthodeEnregistrer les données dans un fichier csv et les exploiter dans un tableur

On montre ici comment utiliser le logiciel CoolTerm pour communiquer avec une carte Arduino via le port série.

Les mesures effectuées par le microcontrôleur sont envoyées sur le port série mais CoolTerm se substitue au moniteur série par défaut intégré au logiciel Arduino IDE.

Lorsque la communication série est active entre la carte Arduino et le logiciel CoolTerm, il n'est plus possible de téléverser un programme dans la carte, ni d'utiliser le moniteur série intégré. Pour téléverser le programme après une modification par exemple, il faut couper la liaison série entre la carte et le logiciel CoolTerm.

La vidéo ci-dessous explique la marche à suivre pour obtenir un fichier csv. La manipulation du bouton Reset de la carte Arduino permet de vider les données en attente de transmission qui créent des entrées non pertinentes dans le fichier.

Acquisition des données issues d'une carte Arduino avec le logiciel CoolTermInformations[1]

Une fois enregistré, le fichier csv s'utilise avec n'importe quel tableur ou encore Regressi.