#include <Wire.h> // Для упраления I2C
#include "RTClib.h" // Для работы с RTC DS1307
#include <Adafruit_SSD1306.h> // Нормальная (надеюсь) библиотека для дисплея
#define OLED_RESET 4 // Информационный пин дисплея на A4
Adafruit_SSD1306 display(OLED_RESET);
RTC_DS1307 RTC;
void setup () {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Инициализация дисплея (0x3C - его адресс)
display.display(); // неоходимо вызывать каждый раз для обновления дисплея
delay(1500);
display.clearDisplay();
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop () {
DateTime now = RTC.now(); // Теперь now хранит информацию о текущей дате
display.setTextSize(2);
display.setTextColor(WHITE,BLACK);
display.setCursor(20,4);
display.print(now.hour(), DEC);
display.print(':');
display.print(now.minute(), DEC);
display.print(':');
display.print(now.second(), DEC);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(35,22);
display.print(now.year(), DEC);
display.print('/');
display.print(now.month(), DEC);
display.print('/');
display.print(now.day(), DEC);
display.display(); // все ещё необходимо вызывать((
display.clearDisplay();
}