Не думали заменить атмегу на esp8266? Тогда возможны 2 варианта по корректировке времени: либо периодический запрос NTP, либо простенькая веб-морда для настроек всего
Была мысль подумать о "есп32", 6 экранов вертикально расположенных, много цифр-шрифтов, мультиплексор вместо транзисторов.
Примерно такого "форм-фактора", только в мерзком 3D печатном пластике.
inty = inputString.length(); // присваиваем переменной у число символов в строке
22
if(y!=6){inputString = "";return;} //если их не 6, выходим из функции
23
String cmd = inputString; // передаём строку другой переменной
24
inputString = "";//"обнуляем переменную"
25
//////
26
time.settime(cmd.substring(4).toInt(),cmd.substring(2, 4).toInt(),cmd.substring(0, 2).toInt()); //устанавливаем в модуль новое время и выводим его на экраны
lilik
Не думали заменить атмегу на esp8266? Тогда возможны 2 варианта по корректировке времени: либо периодический запрос NTP, либо простенькая веб-морда для настроек всего
Была мысль подумать о "есп32", 6 экранов вертикально расположенных, много цифр-шрифтов, мультиплексор вместо транзисторов.
01
//////////////////////////////////////////////
02
//ФУНКЦИИ ПРИЁМА И ОБРАБОТКИ КОМАНД-ДАННЫХ
03
void
CheckSerial()
04
{
05
//////////////////////////////////////////////////////////////////////////////
06
while
(
Serial
.available())
//считываем строку данных пока они поступают
07
{
08
char
inChar = (
char
)
Serial
.read();
09
if
(inChar ==
'\n'
)
//если окончание строки
10
{
11
MakeCmd();
//обрабатываем её данной функцией
12
break
;
13
}
14
else
inputString += inChar;
// иначе удлиняем строку на один символ
15
}
16
17
}
18
/////////////////////////////////////////////////////////////////////////////////
19
void
MakeCmd()
20
{
21
int
y = inputString.length();
// присваиваем переменной у число символов в строке
22
if
(y!=6){inputString =
""
;
return
;}
//если их не 6, выходим из функции
23
String cmd = inputString;
// передаём строку другой переменной
24
inputString =
""
;
//"обнуляем переменную"
25
//////
26
time.settime(cmd.substring(4).toInt(),cmd.substring(2, 4).toInt(),cmd.substring(0, 2).toInt());
//устанавливаем в модуль новое время и выводим его на экраны
27
if
(TEMA==0){ myOLED.setFont(BigZif_0_9); tschasi();}
28
if
(TEMA==1){PUSK =
true
;myOLED.setFont(RusFont);fun_();PUSK =
false
;}
29
if
(TEMA==2){PUSK =
true
;myOLED.setFont(RusFont);fun_B();PUSK =
false
;}
30
if
(TEMA==3){PUSK =
true
;myOLED.setFont(MegaNumbers);fun_C();PUSK =
false
;}
31
}
32
33
//////////////////////////////////////////////
Сделал через монитор порта, добавив функции, оказалось легче чем через кнопку.