/**
DS1307, DS3231 and DS3232 RTCs basic library
Really tiny library to basic RTC functionality on Arduino.
Supported features:
* * SQuare Wave Generator
* * Fixed output pin for DS1307
* * RAM for DS1307 and DS3232
* * temperature sensor for DS3231 and DS3232
* * Alarms (1 and 2) for DS3231 and DS3232
* * Power failure check for DS3231 and DS3232
See uEEPROMLib for EEPROM support.
@copyright Naguissa
@author Naguissa
@url https://github.com/Naguissa/uRTCLib
@url https://www.foroelectro.net/librerias-arduino-ide-f29/rtclib-arduino-libreria-simple-y-eficaz-para-rtc-y-t95.html
@email [email protected]
*/
#include "Arduino.h"
#include "uRTCLib.h"
#include <U8g2lib.h>
// Objects
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); //for WOKWI OLED
//U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R2, U8X8_PIN_NONE); //for real OLED
uRTCLib rtc(0x68);
void setup() {
Serial.begin(9600);
Wire.begin();
u8g2.begin();
u8g2.setBitmapMode(1);
u8g2.clearBuffer(); //Clearing display
u8g2.setFont(u8g2_font_helvB08_tr);
u8g2.drawStr(68, 12, "12:05:15");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(10, 52, "oben:");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(6, 62, "unten:");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(6, 39, "Feuchtigkeit");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(34, 52, "58%");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(34, 62, "75%");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(72, 39, "Temperatur");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(76, 52, "oben:");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(72, 62, "unten:");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(100, 52, "25'C");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(100, 62, "25'C");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(4, 11, "Ein:");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(3, 23, "Aus:");
u8g2.drawLine(3, 28, 124, 28);
u8g2.drawLine(65, 32, 65, 61);
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(24, 11, "06:15");
u8g2.setFont(u8g2_font_haxrcorp4089_tr);
u8g2.drawStr(24, 23, "18:00");
u8g2.drawLine(53, 4, 53, 23);
u8g2.setFont(u8g2_font_helvB08_tr);
u8g2.drawStr(62, 23, "18.11.1992");
u8g2.drawLine(75, 41, 118, 41);
u8g2.drawLine(9, 41, 55, 41);
u8g2.sendBuffer();
delay(2000);
rtc.set(0, 42, 16, 6, 2, 5, 15);
// RTCLib::set(byte second, byte minute, byte hour, byte dayOfWeek, byte dayOfMonth, byte month, byte year)
}
void loop() {
rtc.refresh();
Serial.print("RTC DateTime: ");
Serial.print(rtc.year());
Serial.print('/');
Serial.print(rtc.month());
Serial.print('/');
Serial.print(rtc.day());
Serial.print(' ');
Serial.print(rtc.hour());
Serial.print(':');
Serial.print(rtc.minute());
Serial.print(':');
Serial.print(rtc.second());
Serial.print(" DOW: ");
Serial.print(rtc.dayOfWeek());
Serial.print(" - Temp: ");
Serial.print(rtc.temp() / 100);
Serial.println();
delay(1000);
}