PROGRAMME ARDUINO : Les résultats du programmes ne sont pas stockés sur la cartes SD

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour,

Je suis élève de Terminale STI2D option SIN. Dans le cadre de mon projet de fin d’année à présenter au bac, j’ai créer un projet portes faac qui consiste à compter le nombre de cycle d’ouvertures et de fermetures d’une porte et d’en extraire des statistiques sur une cartes SD.

Mon problème :

Mon programme a été créer à partir d’une carte ARDUINO. Le programme fonctionne, il est correctement téléchargé sur la carte SD. Le programme est correctement exécuté sur le moniteur série mais les statistiques ne sont pas enregistrées sur la carte SD. À la fin les statistiques ne sont donc pas enregistrées sur la carte SD.

J’aimerais savoir pourquoi rien ne s’écrit sur la carte SD alors que les programmes fonctionnent indépendamment les uns des autres, mais une fois fusionnés le programme global ne fonctionne plus.

Je joins mon programme pour avoir votre aide.

Merci par avance.

Bausades

PROGRAMME :

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
#include <Wire.h> 
#include "DS1307.h" 
#include <SPI.h>
#include <SD.h>     
#include <OneWire.h>
#include "RTClib.h"
RTC_DS1307 RTC;

int pushButton = 2;
int buttonState = 0;
int total = 0;
const int chipSelect = 10;


File dataFile;
DateTime now;
DS1307 clock;

void setup()
{
  Serial.begin(9600);
  clock.begin();
  Serial.begin(9600);
  pinMode(pushButton, INPUT);
  Wire.begin();
  RTC.begin();
   if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    RTC.adjust(DateTime(__DATE__, __TIME__));
   }
   if (!SD.begin(chipSelect)) {
    Serial.println("Pas de carte");
    return;
  }

   Serial.begin(9600); 

       now = RTC.now();
    dataFile = SD.open("statistique.txt", FILE_WRITE);
    dataFile.print("total : ");
    dataFile.print(now.year(),DEC);
    dataFile.print('/');
    dataFile.print(now.month(),DEC);
    dataFile.print('/');
    dataFile.print(now.day(),DEC);
    dataFile.println(" ");
    dataFile.println("Tme             Stats");
    dataFile.close();
}
void loop()
{
  printTime();
}
void printTime()
{
  clock.getTime();
  if (clock.hour < 8 && clock.minute > 30) {

    Serial.println("ce n'est pas l'heure");
    delay(1000);
  }
  else {
    Serial.print(clock.hour, DEC); // Affichage heure
    Serial.print(":");
    Serial.print(clock.minute, DEC); // Affichage minutes
    Serial.print(":");
    Serial.print(clock.second, DEC); // Affichage secondes
    Serial.print("  ");
    Serial.print(clock.month, DEC); // Affichage mois
    Serial.print("/");
    Serial.print(clock.dayOfMonth, DEC); // Affichage jours
    Serial.print("/");
    Serial.print(clock.year+2000, DEC); // Affichage années
    Serial.print(" ");
        delay(500);        
  }

    if (clock.hour > 20) {

      Serial.println("ce n'est plus l'heure");
      delay(1000);
    }
     {
          now = RTC.now();
       dataFile = SD.open("statistique.txt", FILE_WRITE);
        if (dataFile) {
        dataFile.print(total);
        dataFile.print("                 ");
        dataFile.print(now.hour(),DEC);
        dataFile.print(":");
        dataFile.print(now.minute(),DEC);
        dataFile.print(":");
        dataFile.println(now.second(),DEC);

        dataFile.close(); 
        Serial.println("Enregistrer");
       }
    delay(1000);
    }    
    Serial.println(total);
    int buttonState = digitalRead(pushButton);
     delay(1000);

    if (buttonState == 0) {
      total = total + 1;
    }
    else {
    }
}

Édité par BAUSADES

+0 -1
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte