Issue with SH1106 OLED Display and DS1307 RTC Module

Below is the code I am using for a Smartwatch. It was running perfectly until I added the RTC Module. Since then, every time I run the code, it gets stuck in the init screen or just goes black.

#include <RTClib.h>
#include <Adafruit_SH1106.h>

#define OLED_RESET 4
Adafruit_SH1106 display(OLED_RESET);

RTC_DS3231 rtc;

void t_d(){
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("PROJECT: BOOTLEG");
  display.println("MENU: TIME AND DATE");
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(3,24);
  display.println("[HH:MM:SS]");
  display.setTextSize(1);
  display.setCursor(28,48);
  display.println("[MM/DD/YYYY]");
  display.display();
  delay(1000);
}

void menu_c(){
  delay(5000);
  display.clearDisplay();
}

void h_temp(){
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("PROJECT: BOOTLEG");
  display.println("MENU: TEMPRETURE");
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(3,24);
  display.println("[TTT] C, [TTT] F");
  display.setTextSize(1);
  display.setCursor(10,48);
  display.println("Humidity: [HHH] %");
  display.display();
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  display.begin(SH1106_SWITCHCAPVCC, 0x3C);

  display.display();
  // delay(2000);
  display.clearDisplay();

  rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}

void loop() {
  DateTime now = rtc.now();
  t_d();
  //menu_c();
}

Any help would be greatly appreciated.
Thank you in advance.

All your loop() does is call t_d()

... so the issue is in the wiring of your RTC.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.