Projet

Général

Profil

Code Informatique carte SD » main.cpp

Quentin Becarie, 21/07/2020 13:12

 
#include <Arduino.h>
#include "FS.h"
#include "SD.h"
#include "SPI.h"
#include "DHTesp.h"
#include "RTClib.h"
#include <Wire.h>
#define DHTpin 15
RTC_DS3231 rtc;
DHTesp dht;

const int broche_CS = 5;
unsigned long tempsPrecedent;

void appendFile(fs::FS &fs, const char * path, const char * message) {
Serial.printf("Ecriture dans le fichier: %s\n", path);

File file = fs.open(path, FILE_APPEND);
if (!file) {
Serial.println("Echec d'ouverture du fichier");
return;
}
if (file.print(message)) {
Serial.println("Fichier modifié avec succes.");
} else {
Serial.println("Echec de la modification du fichier.");
}
file.close();
}

void setup() {
Serial.begin(9600);
dht.setup(DHTpin, DHTesp::DHT11);
if (!SD.begin(broche_CS)) {
Serial.println("Carte SD introuvable");
return;
}
else{
Serial.println("Carte SD détectée");
}
if (! rtc.begin()) {
Serial.println("RTC introuvable !");
while (1);
}
if (rtc.lostPower()) {
Serial.println("Veuillez regler l'heure sur le module RTC!");
// Decommenter les lignes ci-dessous pour régler la date et l'heure.
// La ligne ci-dessous regle la date et l'heure du momment de la compilation
//rtc.adjust(DateTime(2020, 07, 20, 13, 24,00));
// La ligne ci-dessous regle la date et l'heure avec des valeurs explicites
// Par exemplepour le 27 janvier 2017 à 12:56 :
//rtc.adjust(DateTime(2020, 20, 7, 16, 06, 30));
}
tempsPrecedent = millis();
}

void loop() {
DateTime now = rtc.now();

float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
int jour = now.day();
int mois = now.month();
int annee = now.year();
int heure = now.hour();
int minute = now.minute();
char message[5000];

if ((millis() - tempsPrecedent) >= 5000) {
sprintf(message,"%d, %d, %d , %d, %d, %f, %f \n" ,annee, mois, jour, heure, minute, temperature, humidity);
appendFile(SD, "/Date_Heure_Temperature_Humidite.txt", message);
tempsPrecedent = millis();
}
}
    (1-1/1)