controllo sketch

Ciao
mi date perchè questo sketch, fatto partendo dagli esempi dellIDE 1.6.8:

#include <Wire.h>// For some strange reasons, Wire.h must be included here
#include <DS1307new.h>

byte time_off; //intervallo in minuti
int time_on;//intervallo secondi

byte minuti_0;
byte secondi_0;

byte minuti;
byte secondi;

byte sum_time1;
byte sum_time0;

void setup()
{
pinMode(13, OUTPUT);
digitalWrite(13, 0);

/* RTC.ctrl = 0x00;
RTC.fillByYMD(2016, 1, 15);
RTC.fillByHMS(20, 40, 15);
RTC.setTime();
RTC.startClock();*/

Serial.begin(9600);

time_off = 9; //intervallo in secondi
time_on = 3000;//intervallo secondi in ms

RTC.getTime();
/*
minuti_0 = RTC.minute;
Serial.print("minuti_00 ");
Serial.println(RTC.minute, DEC);
Serial.println(minuti_0);
*/
secondi_0 = RTC.second;
Serial.print("secondi_00 ");
Serial.println(RTC.second, DEC);
Serial.println(secondi_0);
}

void loop()
{
RTC.getTime();
if (RTC.hour < 10) // correct hour if necessary
{
Serial.print(“0”);
Serial.print(RTC.hour, DEC);
}
else
{
Serial.print(RTC.hour, DEC);
}
Serial.print(":");
if (RTC.minute < 10) // correct minute if necessary
{
Serial.print(“0”);
minuti = RTC.minute;
Serial.print(minuti, DEC);
}
else
{
minuti = RTC.minute;
Serial.print(minuti, DEC);
}
Serial.print(":");
if (RTC.second < 10) // correct second if necessary
{
Serial.print(“0”);
secondi = RTC.second;
Serial.println(secondi);
//Serial.println(secondi+5);
// Serial.print(“0”);
// Serial.println(RTC.second);
}
else
{
secondi = RTC.second;
Serial.println(secondi);
// Serial.println(RTC.second);
}

if (secondi == 0)
{
secondi = 60;
// Serial.println(secondi);
}

if ( secondi_0 + time_off <= 60 && secondi - secondi_0 >= time_off )
{
secondi_0 = secondi;

Serial.print("secondi_01 ");
Serial.println(secondi_0);
digitalWrite(13, 1);
Serial.println(“on 1”);
delay(time_on);
digitalWrite(13, 0);
Serial.println(“off 1”);
}
else if ( secondi_0 + time_off > 60 && secondi >= secondi_0 + time_off - 60)
{
secondi_0 = secondi;

Serial.print("secondi_02 ");
Serial.println(secondi_0);
digitalWrite(13, 1);
Serial.println(“on 2”);
delay(time_on);
digitalWrite(13, 0);
Serial.println(“off 2”);
}

// delay(1000);

}

mi da questo output:

10:38:52
10:38:52
10:38:52
10:38:52
10:38:52
10:38:53
secondi_01 53
on 1
off 1
10:38:56
secondi_02 56
on 2
off 2
10:38:59
secondi_02 59
on 2
off 2
10:39:02
10:39:02
10:39:02
10:39:02
10:39:02

per il resto del tempo funziona bene.
Grazie

A mente fresca si ragiona meglio, ho trovato un errore nella seconda parte del secondo IF provo a risolvere