Libreria "Time" ed RTC DS3234

Sto usando la libreria “Time” per creare un cronotermostato settimanale con RTC DS3234
Caricando uno degli sketch di esempio ( RTC set) mi perdeva il settaggio dell’ora corrente dopo 4 minuti circa.
Ora ho provato a caricare lo sketch di esempio che gestisce gli allarmi e funziona correttamente.
Penso che quest’ultimo sketch non utilizzi l’RTC ma il clock interno di arduino MEGA.
Chiedo conferma.
Vi allego lo sketch
Ah… Sequalcuno mi spiega come allegare gli sketch al forum senza fare copia incolla lo ringrazio di cuore.

BUON NATALE A TUTTI

/*
 * TimeAlarmExample.pde
 *
 * This example calls alarm functions at 8:30 am and at 5:45 pm (17:45)
 * and simulates turning lights on at night and off in the morning
 * A weekly timer is set for Saturdays at 8:30:30
 *
 * A timer is called every 15 seconds
 * Another timer is called once only after 10 seconds
 *
 * At startup the time is set to Jan 1 2011  8:29 am
 */
 
#include <Time.h>
#include <TimeAlarms.h>

void setup()
{
  Serial.begin(9600);
  setTime(8,29,0,1,1,11); // set time to Saturday 8:29:00am Jan 1 2011
  // create the alarms 
  Alarm.alarmRepeat(8,30,0, MorningAlarm);  // 8:30am every day
  Alarm.alarmRepeat(17,45,0,EveningAlarm);  // 5:45pm every day 
  Alarm.alarmRepeat(dowSaturday,8,30,30,WeeklyAlarm);  // 8:30:30 every Saturday 

 
  Alarm.timerRepeat(15, Repeats);            // timer for every 15 seconds    
  Alarm.timerOnce(10, OnceOnly);             // called once after 10 seconds 
}

void  loop(){  
  digitalClockDisplay();
  Alarm.delay(1000); // wait one second between clock display
}

// functions to be called when an alarm triggers:
void MorningAlarm(){
  Serial.println("Alarm: - turn lights off");    
}

void EveningAlarm(){
  Serial.println("Alarm: - turn lights on");           
}

void WeeklyAlarm(){
  Serial.println("Alarm: - its Monday Morning");      
}

void ExplicitAlarm(){
  Serial.println("Alarm: - this triggers only at the given date and time");       
}

void Repeats(){
  Serial.println("15 second timer");         
}

void OnceOnly(){
  Serial.println("This timer only triggers once");  
}

void digitalClockDisplay()
{
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.println(); 
}

void printDigits(int digits)
{
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

Questa lib supporta alcuni RTC, non so se anche il tuo:
http://www.pjrc.com/teensy/td_libs_DS1307RTC.html

Penso di no peche e molto simile al mio sketch.
Io volevo solo saper se l'esempio che ho mandato lavora con l'RTC io penso di no ma vorrei solo una conferma.
Con questo sketch il mio programma funziona benissimo.

capitankevin:
Io volevo solo saper se l'esempio che ho mandato lavora con l'RTC

Questo non so dirtelo, devi prendere la lib e controllare nel sorgente come lavora. Se supporta il tuo RTC, può darsi che si interfacci ad esso per prendere il tempo, altrimenti è probabile che lo faccia via software, con tutte le limitazioni del caso (precisione, salto di orario in caso di distacco dell'alimentazione ecc).

Sembra proprio che usi un rtc software, ma c'è da verificare nel dettaglio.
Sembra perché non si vede da nessuna parte l'inizializzazione dell'RTC hardware, cioè a quali pin
è connesso, se è onewire ne basta uno e magari lo hai connesso dove è previsto che il codice trovi connesso
l'hardware, ma sarebbe pura fortuna. In più visto che è compatibile con più hardware il codice deve permettere di scegliere quale usare, per cui al 51% sta usando un RTC software.

Ciao.

Per ora faccio girare lo sketch (gira da due giorni senza problemi) per tutta la settimana e poi vedo se trovo qualche libreria o sketch che puo fare al mio caso.
Poi scopiazzo un poco e che dio ce la mandi buona bionda e da mezzo.
Intanto grazie per l'aiuto.