Projet | ​​​Mini projet - Arduino | ​​​​Lecture carte SD

Activités

On reprend le même dispositif que la rubrique précédente. Nous interprétons les nombres qui sont enregistrés dans un fichier texte nommé resultat.txt de la carte SD.

Ce fichier contient en effet des mesures dont nous souhaitons extraire  les valeurs afin de réaliser des calculs. Voir le texte à enregistrer préalablement sur la carte SD. Chacune de ses lignes y compris la dernière se termine par un retour à la ligne codé par 2 octets invisibles : 13 (CR) puis 10 (LF).  

Il s'agit de  mettre oeuvre la librairie ​String.h contenant des méthodes pratiques telles : substring()indexOf() ,  toInt() et length().

​Méthode indexOf()

  1. S'assurer que le programme affiche la variable txt dans le terminal.
  2. Afficher le resultat txt.indexOf("duree"). Essayer avec humidité ou autres mots contenus dans la variable txt si nécessaire.
  3. Exécuter l'instruction Serial.print(txt.indexOf("X"));
  4. Quelle fonction réalise cette méthode ?

Méthode substring()

  1. Exécuter l'instruction Serial.print(txt.substring(13, 19));
  2. Justifier les valeurs 13 et 19 compte tenu du texte et des caractères invisibles.
  3. Elaborer l'instruction affichant humidite=85 à l'aide de cette méthode.

Méthode length()

  1. Exécuter les instructions  : txt = "Bonjour"; Serial.println(txt.length());
  2. Recommencer avec d'autres mots autre que Bonjour si nécessaire.
  3. Quelle fonction réalise cette méthode ?

Méthode toInt()

  1. Exécuter les instructions String x="20";  Serial.println(x+1);
  2. Exécuter les instructions String x="20"; Serial.println(x.toInt()+1);
  3. Quelle fonction réalise cette méthode ?

Extraction de la valeur de l'humidite : 85

Le caractère invisible CR se code (char)13. On exploite les méthodes précédentes.

  1. Proposer un programme qui extrait (affiche) la ligne humidite=85 de la variable txt alors que nous connaissons les mots mais aucunement les valeurs.
  2. Ajouter les instructions nécessaires afin d'afficher la valeur correspondante et augmentée de 100.

Setup()

L'icône en haut et à droite ouvre le terminal.

function

La fonction InitSD est exécutée  lors de son appel, par la première instruction du segment setup()..