#include <SPI.h> #include <SD.h> /* 0 Les variables */ 0.1... // chipSelect=10 sur la plupart de nos cartes 0.2... // Pin R, G, B de la LED RGB 0.3... // Pression en hPa mesurée par l'étalon Jeulin Sortie Analogique 0.4... // booléen (ou flag) de controle presence carte 0.5... // fixe le quantum PE=5V / 10 bits = 2^10 possibilités 0.6... // Définir VMPX en tant que réel... void setup() { 1.1... // Pour debug on initialise la liaison série... 1.2... // Ini led RGB : pinMode(pin, mode) 1.3... // on appelle notre fonction iniSD() } void loop() { PJeulin=-a*q*analogRead(A1) + b; // a et b à calculer... 2,5 V -> 0hPa et 0 V -> 1000 hPa VMPX = q*analogRead(A0); 2.3... // Pour le débogage afficher ces deux mesures sur le moniteur série 2.4... // Si (PJeulin < 980 et PJeulin > 100 hPa et SD_OK) ecritureSD() 2.5... // attendre 500 ms avant la mesure suivante } void iniSD() { 3.1... // Seul pinMode à déclarer dans le setup : if (!SD.begin(chipSelect)){ // Ini, en cas de pb: 3.2a... // écrire un message d’erreur SD_OK=0; // flag de contrôle SD_OK à false car défaut... 3.2c... // Allume led rouge car défaut 3.2d... // sortie de iniSD() grâce à return pour ne pas traiter la suite... 3.3... // flag de contrôle SD_OK à true 3.4... // Led RGB s'allume en vert si la carte est présente ; 3.5... // eteint la LED verte au bout de 2s } void ecritureSD() { // Ouverture du fichier Pression.csv File Pression = SD.open("Pression.csv", FILE_WRITE); if (Pression){ // Si l’ouverture est correcte... 4.2a... // Allume led bleue pour flash bleu durant écriture 4.2b... // Eteint led rouge car pas de défaut Pression.print(PJeulin);// Ecrire sur la carte SD PJeulin Pression.print(";");// Séparateur pour tableau csv : « ; » 4.2e... // Ecrire la tension mesurée par le capteur MPX5100 avec 3 chiffres après la virgule (2 par défaut) Pression.close();// Fermeture du fichier Pression : sinon impossible de réouvrir le fichier... 4.2g... // Eteint led bleue : fin du flash } // fin de Si ouverture correcte else { // Sinon c’est que l’ouverture n’est pas correcte 4.3a... // Message d'erreur pour debug 4.3b... } // Allume led rouge si défaut } // Fin de la fonction ecritureSD()