Только заметил, извиняюсь. У меня такой код нашелся в архиве на эти часики. А6 и А7 к плюсу резисторами подтянуты вроде. На коленке делал. Весь код собрал у хозяина сайта.
#include <U8glib.h> // https://rcl-radio.ru/wp-content/uploads … 1-5722.zip
#include "rus6x10.h" // http://forum.rcl-radio.ru/misc.php?acti … download=1
#include "digits32.h" // http://forum.rcl-radio.ru/misc.php?acti … download=1
#include <Wire.h>
#include <DS3231.h>//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip // DS3231.zip
DS3231 clock;RTCDateTime DateTime;
int yar,mount,date,hour,minut,secon;
U8GLIB_KS0108_128 u8g(12, 11, 10, 9, 8, 7, 6, 5, 14, 3, 4, 13, 2);
//D0, D1, D2, D3, D4, D5, D6, D7, E, CS1,CS2, DI, RW
char * mes[12]{"ЯНВАРЯ","ФЕВРАЛЯ","МАРТА","АПРЕЛЯ","МАЯ","ИЮНЯ","ИЮЛЯ","АВГУСТА","СЕНТЯБРЯ","ОКТЯБРЯ","НОЯБРЯ","ДЕКАБРЯ"};
char * den[7]{"ВОСКРЕСЕНЬЕ","ПОНЕДЕЛЬНИК","ВТОРНИК","СРЕДА","ЧЕТВЕРГ","ПЯТНИЦА","СУББОТА"};
void draw() {
u8g.setRot180();
u8g.setFont(rus6x10);
u8g.setPrintPos(0, 10); u8g.print(DateTime.day);
u8g.drawStr(15, 10, mes[DateTime.month-1]);
u8g.drawStr(62, 10, den[DateTime.dayOfWeek]);
u8g.setFont(digits32);
if(DateTime.hour/10==1){u8g.setPrintPos( 15, 47); u8g.print(DateTime.hour / 10);}else{u8g.setPrintPos( 1, 47); u8g.print(DateTime.hour / 10);}
if(DateTime.hour%10==1){u8g.setPrintPos( 34, 47); u8g.print(DateTime.hour % 10);}else{u8g.setPrintPos( 20, 47); u8g.print(DateTime.hour % 10);}
u8g.setPrintPos( 39, 47); u8g.print(":");
if(DateTime.minute/10==1){u8g.setPrintPos( 59, 47); u8g.print(DateTime.minute / 10);}else{u8g.setPrintPos( 45, 47); u8g.print(DateTime.minute / 10);}
if(DateTime.minute%10==1){u8g.setPrintPos( 78, 47); u8g.print(DateTime.minute % 10);}else{u8g.setPrintPos( 64, 47); u8g.print(DateTime.minute % 10);}
u8g.setPrintPos( 83, 47); u8g.print(":");
if(DateTime.second/10==1){u8g.setPrintPos( 103, 47); u8g.print(DateTime.second / 10);}else{u8g.setPrintPos( 89, 47); u8g.print(DateTime.second / 10);}
if(DateTime.second%10==1){u8g.setPrintPos( 122, 47); u8g.print(DateTime.second % 10);}else{u8g.setPrintPos( 108, 47); u8g.print(DateTime.second % 10);}
// u8g.drawLine(0, 15, 128, 15);
u8g.setFont(u8g_font_unifont);
u8g.setPrintPos(0, 60); u8g.print(DateTime.year);
u8g.drawStr(40, 60, "TEMP");
u8g.setPrintPos( 78, 60); u8g.print(clock.readTemperature()-3,1);
u8g.drawStr(118, 60, "C");
}
void setup() {
//pinMode(20,INPUT); // УСТ. ВРЕМЯ
pinMode(16,INPUT_PULLUP); // ЧАСЫ / ДАТА
pinMode(17,INPUT_PULLUP); // МИНУТЫ / МЕСЯЦ
pinMode(15,INPUT_PULLUP); // ОБНУЛЕНИЕ СЕКУНД / ГОД / УСТ. БУДИЛЬНИКА
//pinMode(21,INPUT); // УСТ. ДАТА-МЕСЯЦ-ГОД
Wire.begin();
clock.begin();
// clock.setDateTime(__DATE__, __TIME__); // установка времени по времени компиляции
// clock.setDateTime(2016, 9, 15, 0, 0, 0);// Установка времени вручную (Год, Месяц, День, Час, Минута, Секунда)
}
void loop() {
DateTime = clock.getDateTime();yar = DateTime.year; mount = DateTime.month;date = DateTime.day;hour = DateTime.hour;minut = DateTime.minute;secon = DateTime.second;
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );
//// set time ////
if(analogRead(A6) < 500&&digitalRead(16)==LOW){hour++;if(hour>23){hour=0;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100);}
if(analogRead(A6) < 500&&digitalRead(17)==LOW){minut++;if(minut>59){minut=0;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
if(analogRead(A6) < 500&&digitalRead(15)==LOW){secon=0; clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
if(analogRead(A7) < 500&&digitalRead(16)==LOW){date++;if(date>31){date=1;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100);}
if(analogRead(A7) < 500&&digitalRead(17)==LOW){mount++;if(mount>12){mount=1;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
if(analogRead(A7) < 500&&digitalRead(15)==LOW){yar++;if(yar>2050){yar=2020;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
}