Need help for RTC DS1307

Hello friends,

First of all, we are celebrating Diwali here so wish you a very happy Diwali....

So here's the problem I am dealing with. Since last two weeks I am trying to connect DS1307 to arduino, but some how couldn't make it work. I have connected it to pins of arduino as

SCL -> A5
SDA -> A4
VCC 5V
GND - Made common with arduino

I used the following code

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"

#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
   #define Serial SerialUSB
#endif

RTC_DS1307 rtc;

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void setup () {

#ifndef ESP8266
  while (!Serial); // for Leonardo/Micro/Zero
#endif

  Serial.begin(57600);
  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }

  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(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }
}

void loop () {
    DateTime now = rtc.now();
    
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
    
    Serial.print(" since midnight 1/1/1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");
    
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now + TimeSpan(7,12,30,6));
    
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();
    
    Serial.println();
    delay(3000);
}

This I got from adafruit's documentation on RTC. here's the link for it

This is the output that I get

RTC is NOT running!
2165/165/165 (Tuesday) 165:165:85
 since midnight 1/1/1970 = 1551138385s = 17952d
 now + 7d + 30s: 2019/3/5 12:16:31

2165/165/165 (Tuesday) 165:165:85
 since midnight 1/1/1970 = 1551138385s = 17952d
 now + 7d + 30s: 2019/3/5 12:16:31

Seems like RTC might got have stuck with 165:165:85. The output also shows that RTC is NOT running!.

After I tried using lot of different libraries and also their example code but all in vain. The libraries that I used besides RTClib are,DS1307RTC, MD_DS1307, Sparkfun's DS1307 RTC, DS1307-master, DS1307-Emulator. But nothing worked for me I can't figure this out.

I even tried changing my IC, Changing my crystal. I have been using 10k pull-ups on I2C line, I even replaced battery and also tried while the battery was removed. But none of this thing worked. I even tried building RtC circuit on breadboard hoping that I might have mad any loose connection on the pcb, But that didn't worked either.

Any help to sort this out.....
Awaiting eagerly. Thanks in advance

Can you show a photograph of your wiring along with the schematic of what your wiring should be?

Grumpy_Mike:
Can you show a photograph of your wiring along with the schematic of what your wiring should be?

I have taken pictures but having some troubles uploading it

Image guide
image guide

Mike here's the pic you asked for

IMG_20171016_105511.jpg

Also I read here :

that I should have I2C scanning to see if my arduino can get to my RTC or not. And I did so using the code on that link, but to my surprise I got nothing arduino was not able to find any devices on I2C.

Can't figure this out at all

Grumpy_Mike:
Can you show a photograph of your wiring along with the schematic of what your wiring should be?

It looks like you have only one wire connected to the input jack.
What is that unused IC socket for?

Grumpy_Mike:
What is that unused IC socket for?

its meant for EEPROM 24C series

Grumpy_Mike:
It looks like you have only one wire connected to the input jack.

do you mean the dc jack ? No, it has two wires one yellow for 12V and Black for Gnd.

Mike this is the schematic I am using

this is the schematic I am using

From the page https://www.arduino.cc/en/Reference/Wire:-
Board I2C / TWI pins
Uno, A4 (SDA), A5 (SCL)

From your diagram you seem to have them swapped over.

Hey Mike,

Thanks for the reply and sorry replying you late, I was out of station on diwali's eve.
Speaking about the problem u pointed out, I tried swapping the pins that didn't worked too. Any other suggestions.

Have you tried running Arduino Playground - I2cScanner with those lines swapped?