lunedì 24 agosto 2015

DATA_LOG



#include <SPI.h>
#include <SD.h>
#include <dht11.h>
#include <Wire.h>
#include <DS3231.h>

#define DHT11_PIN 2
#define chipSelect_pin 4

DS3231 clock;
RTCDateTime dt;
dht11 DHT;

String SD_data = "";

void setup() {
  Serial.begin(9600);
  clock.begin();
  Serial.print("Preparazione SD card...");
  if (!SD.begin(chipSelect_pin)) {
    Serial.println("Preparazione fallita o SD non presente");
    return;
  }
  Serial.println("SD pronta.");
 SD_data +="Data \t Ora \t \t Temperatura in C \t \t Umidita' in %";
 File dataFile = SD.open("datalog.txt", FILE_WRITE);
   if (dataFile) {
    dataFile.println(SD_data);
    dataFile.close();
    // print to the serial port too:
     Serial.println(SD_data);

     SD_data="";
  }

}

void loop() {
  // preparo la stringa da scrivere nel SD
 
  dt = clock.getDateTime();

  SD_data +=dt.day;    SD_data +="-";
  SD_data +=dt.month;  SD_data +="-";
  SD_data +=dt.year;   SD_data +="\t";
  SD_data +=dt.hour;   SD_data +=":";
  SD_data +=dt.minute; SD_data +="\t";

/*  SD_data += "RTC Temperatura: ";
  SD_data += clock.readTemperature();
  SD_data += " C \t";*/
 
  DHT.read(DHT11_PIN);
  SD_data += "Temperatura in C: \t";
  SD_data += (DHT.temperature);
  SD_data += "\t Umidita' in %: \t";
  SD_data += (DHT.humidity);

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
   File dataFile = SD.open("datalog.txt", FILE_WRITE);

  // if the file is available, write to it:
  if (dataFile) {
    dataFile.println(SD_data);
    dataFile.close();
    // print to the serial port too:
     Serial.println(SD_data);

     SD_data="";
  }
  // if the file isn't open, pop up an error:
  else {
    Serial.println("File datalog.txt non accessibile");
  }
  delay(60000);
}










Nessun commento:

Posta un commento