не очень понял, что вы хотели сделать. Этот key у вас один общий на все кнопки. Или вы так и хотели?class button сам не писал, позаимствовал, так как не совсем разобрался с классами внёс изменения в виде static byte key так как нужен был флаг в виде 0 или 1 в строку 276. if (mode < 20 && button::key)
Посмотрел, в принципе вроде ОК (хотя я сам имею небольшой опыт со статическими членами класса)@bort707,
Да так и хотел сделать, просто реализация правильная или как-то по другому надо было сделать
Вот думаю, что для минимизации трудоемкости по переделке кода, лучше конечно для этого дела задействовать отдельную кнопку, обозвать ее к примеру time reset. Прошу помощи у уважаемых гуру по программированию, если кто может, подправьте скетч под кнопку "обнуление секунд", пожалуйста, уверен, что многие форумчане обрадуются новому функционалу.Если просто обнулить при нажатии специальной для этого кнопки, то код будет простым)
//======================================= Массив управляет кнопками с часами и минутами ===============================
void SecondReset() {
int buttonR = digitalRead(4);
if (buttonR == LOW) {
delay(100);
tmElements_t Now;
RTC.read(Now);
int second = Now.Second;
if (buttonR == LOW) {
Now.Second = 0;
}
RTC.write(Now);
}
}
void TimeAdjust() {
int buttonH = digitalRead(2);
int buttonM = digitalRead(3);
if (buttonH == LOW || buttonM == LOW) {
delay(100);//время реакции на нажатие
tmElements_t Now;
RTC.read(Now);
int hour = Now.Hour;
int minutes = Now.Minute;
int second = Now.Second;
if (buttonH == LOW) {
if (Now.Hour == 23) {
Now.Hour = 0;
}
else {
Now.Hour += 1;
};
}
else
{
if (Now.Minute == 59) {
Now.Minute = 0;
}
else {
Now.Minute += 1;
};
};
RTC.write(Now);
}
}
//Меняем эффекты
void fadeall() {
for (int i = 0; i < NUM_LEDS; i++) {
leds[i].nscale8(250);
}
}
ну что касается прописки номеров пинов тут проблем нет, просто макетка на работе, и о свободных пинах узнаю только завтра. Теперь пара вопросов по реализации: значит пины под кнопку задействовать только цифровые (Dn), хотя да, у кнопки ведь только два состояния единица и ноль, по любому цифра, удалять не нужно вдруг кому пригодится, второй вопрос о месте вставки блока опроса кнопки в фрагмент скетча: блокможно и так
И как туда воткнуть обнуление секунд, что то в этом блоке ни одна кнопка не описана, минуты, часы, смена цвета не въезжаю как прописать кнопку обнуления, подскажите пожалуйста.@начинающий,
DSTcheck(); // Проверяем цветовые режимы
TimeAdjust(); // Проверяем время если сменилось на 1 цифру