#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()