SD CARD  + ORARIO + XBEE  

IN PREPARAZIONE...

 

            UTILIZZATO CARD da  4 GIGA                    

 

Stazionando nel raggio d'azione degli xbee (max 1400 metri senza ostacoli),

con un portatile munito di software X-CTU  e:

 

    ECCO IL RISULTATO DEL CONTROLLO A DISTANZA

      

#include <SD.h>

#include <Wire.h>

#include "RTClib.h"

RTC_DS1307 RTC;

File Dati;// Variabile di tipo dati

const int chipSelect =4;// Dipende dal modulo che si acquista

int inPin =2; //Pin ingresso sonda di temperatura

int temp = 0; //Variabile della temperatura

int k =0;   // Contatore conteggio temperature

String Buffer="";// Buffer per la scrittura dei dati  

void setup ()

{

    Serial.begin(9600);

    Wire.begin();

    RTC.begin();

    RTC.sqw(1);          //0 Led off - 1 Freq 1Hz - 2 Freq 4096kHz - 3 Freq 8192kHz - 4 Freq 32768kHz

  if (! RTC.isrunning()) {

    Serial.println("RTC is NOT running!");

    // following line sets the RTC to the date & time this sketch was compiled

    RTC.adjust(DateTime(__DATE__, __TIME__));

  }

Serial.print("\nSto verificando la presenza della scheda...\n");

pinMode(10,OUTPUT);// Fa funzionare la SD

if(!SD.begin(chipSelect))

{

Serial.println("SD Card non trovata");

return;

}

else {

Serial.println("Scheda inserita e funzionante");

Serial.println();

      }

 }

 

void loop ()

{

    Buffer="";//Nuovo giro, stringa vuota!

    DateTime now = RTC.now();

     k = k +1;

    temp =(5.0 * analogRead(inPin)*100)/1024;

   

    Serial.print(now.day(), DEC);

    Serial.print('/');

    Serial.print(now.month(), DEC);

    Serial.print('/');

    Serial.print(now.year(), DEC);

    Serial.print(" ");

    Serial.print(now.hour(), DEC);

    Serial.print(':');

    Serial.print(now.minute(), DEC);

    Serial.print(':');

    Serial.print(now.second(), DEC);

    Serial.print( "  ");

    Serial.print(k);

    Serial.print(" lettura  ");

    Serial.print(temp);

    Serial.println(" gradi");

    //Serial.println();

 

    Buffer +=(now.day());

    Buffer +=('/');

    Buffer +=(now.month());

    Buffer +=('/');

    Buffer +=(now.year());

    Buffer +=("  ");

    Buffer +=(now.hour());

    Buffer +=(':');

    Buffer +=(now.minute());

    Buffer +=(':');

    Buffer +=(now.second());

    Buffer +=("  ");

    Buffer += k;

    Buffer +=(" lettura  ");

        //Serial.print(k);

    //Serial.print(" lettura  ");

    Buffer +=temp;

    Buffer +=(" gradi");

Dati = SD.open("datalog.txt", FILE_WRITE);// apriamo il file in scrittura

if (Dati) {

 Dati.println(Buffer);

Dati.close();

Serial.println ("HO MEMORIZZATO  ");

Serial.println(Buffer);

Serial.println();

 }

else {

Serial.println("Errore nell'apertura del file datalog.txt");

}

    delay(3000);// Da definire

    }