RTC con leds.

Hola a todos cada vez mas voy aprendiendo poco a poco gracias a muchos de vosotros,os pido que por favor el que me pueda ayudar a poner dos leds en este RTC por mas que lo intento la programación aun no se me da bien,quisiera que se encendieran,uno enciende y al apagarse se enciende el otro es decir una forma de ver que el rtc esta activo.

Gracias.

Flecho.

//  04/07/12 Probado y modificado por Guillermo Fernández - Juan Pablo Sánchez 
//  para que dia/mes//hora/min/seg aparezca en el LCD con un "0" delante del número 
//  en caso que sea menor que 10...


//  Se aceptan sugerencias y/o modificaciones.


#include <LiquidCrystal.h>
#include <Wire.h>
#include "RTClib.h"

// Connección del LCD:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

// Conexión del RTC:
// Pin Sda al pin A4 del arduino
// Pin Scl al pin A5 del arduino
// También como en cualquier módulo, se deben conectar VCC y GND.
RTC_DS1307 RTC;

int backLight = 13;    // pin 13 will control the backlight

void setup()
{
  Serial.begin(57600);
  Wire.begin();
  RTC.begin();
  
  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__));
  }
  
  pinMode(backLight, OUTPUT);
  digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
  lcd.begin(16,2);              // columns, rows.  use 16,2 for a 16x2 LCD, etc.
  lcd.clear();                  // start with a blank screen
}

void loop()
{
  DateTime now = RTC.now();
  lcd.clear();
  lcd.setCursor(3,0);
  if(now.day() < 10)
  {   
  lcd.print("0");
  }
  lcd.print(now.day(), DEC);
  lcd.print('/');
  if(now.month() < 10)
  {   
  lcd.print("0");
  }
  lcd.print(now.month(), DEC);
  lcd.print('/');
  lcd.print(now.year(), DEC);
  lcd.setCursor(4,1);
  if(now.hour() < 10)
  {   
  lcd.print("0");
  }
  lcd.print(now.hour(), DEC);
  lcd.print(':');
  if(now.minute() < 10)
  {   
  lcd.print("0");
  }
  lcd.print(now.minute(), DEC);
  lcd.print(':');
  if(now.second() < 10)
  {   
  lcd.print("0");
  }
  lcd.print(now.second(), DEC);
  delay(1000);
}

Primero, revisa el ejemplo blink, para que te familiarices con las instrucciones que permiten encender y apagar un led.

Segundo, para que consigas encender y apagar un led, en base al RTC, se me ocurre que tomes como referencia los segundos generados por el RTC por ejemplo.

Si dividimos los segundos entre 2, y manipulamos el resultado para extraer el decimal en forma de un entero: para los segundos impares obtendremos 5, para los segundos pares obtendremos 0.

En base a ese resultado solo basta con aplicar un if/else. Si es 5 el led se encenderá, si es 0 el led se apagará.

Este es un fragmento del codigo con el que hago un test semejante al que quieres, pero con un par de pixeles de una matriz RGB neopixel 5x8, así consigo una señal visual para saber si el RTC está funcionando o no.

// lectura-DS3231    
       byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
       readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);    
// lectura-DS3231    

float segundo = second;
float segp = segundo/2;                //Dividimos segundos entre 2  
int segEntero = segp;                   //Obtenemos la parte entera de la división
int Dif = 10*segp - 10*segEntero;  // Para extraer el decimal de la división, obtenenos la diferencia
      
//Presenta diferencia, solo se obtiene 0 en el caso de segundos pares y 5 en segundos impares
         t1.setFontColor(WHITE, tft.color565(0, 0, 0));                 
         t1.selectFont(StarX4);       //  Fuente grande basada en la Arial Narrow tamaño 35              
          sprintf(textBuff, "%02d", Dif);
         t1.drawString(textBuff, 140, 165);    
//Presenta diferencia
      
//Comparación para encender led      
      if (Dif == 5){
                     matrix.drawPixel(0, 0, Color1(150, 0, 0)); matrix.show(); 
                     matrix.drawPixel(0, 1, Color1(0, 0, 0)); matrix.show(); 
                   }else{
                          matrix.drawPixel(0, 0, Color1(0, 0, 0)); matrix.show(); 
                          matrix.drawPixel(0, 1, Color1(150, 0, 0)); matrix.show(); 
                        }

Gracias or el aporte,me sera muy util.