Все тоже самое.
где то оно рядом...
Ведь от 0 и до 6 часов нормально все отрисовывается..
Код: Выделить всё
unsigned long nov = millis();
if (nov - oldMillis >= 75) {
shag++; Serial.print("sek ");Serial.print(s1);Serial.print(s0);
Serial.print(" shag ");Serial.println(shag);
oldMillis = nov;
}
if (shag >= 12) { Serial.print("lastm1 ");Serial.print(lastm1 );
Serial.print(" m1 ");Serial.println(m1 ); Serial.println("---------"); shag=0; lasth1 = h1; lasth0 = h0; lastm1 = m1; lastm0 = m0; lasts1 = s1; lasts0 = s0;}
Код: Выделить всё
oldMillis = nov; // в начале новой секунды сбрасываем в "0"
shag = 0; // в начале новой секунды сбрасываем в "0"
Код: Выделить всё
//------------------------------------------------ВЫВОД НА ИНДИКАТОР ДАННЫХ (из scr1 - Обновляем все сегменты индикатора)
void refreshAll() { //
rotate(); // поворачиваем данные из буфера sct и записываем их в буфер scr1 (ВЕРТИКАЛЬНЫЕ БАЙТЫ)
for (int c = 0; c < 8; c++) { // создаем цикл от 0 до 7
digitalWrite(CS_PIN, LOW); // Разрешаем нашему индикатору получать данные с шины SPI
for(int i = NUM_MAX - 1; i>=0; i--) { // создаем цикл от 3 до 0 Цикл по количеству индикаторов
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, CMD_DIGIT0 + c); // трансилруем команду (1+0)4раза,(1+1)4раза,(1+2)4раза,(1+3)4раза,(1+4)4раза,(1+5)4раза,(1+6)4раза,(1+7)4раза
!>>> shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, scr1[i * 8 + c].byte_data); // трансилруем данные (байт) из ячейки scr1 (3*8+0, 2*8+0, 1*8+0, 0*8+0) 24, 16, 8, 0
// строки/столбцы 3*8+1, 2*8+1, 1*8+1, 0*8+1 25, 17, 9, 1
// . . . . . . . . .
// 3*8+7, 2*8+7, 1*8+7, 0*8+7 31, 23, 15, 7
}
digitalWrite(CS_PIN, HIGH); //
}
} Код: Выделить всё
if (brightSet == 16 && millis() - lastBrightCheck >= 500) { // Каждые полсекунды
lastBrightCheck = millis();
int ledLevel = getAverageLight();
if (ledLevel > upperThreshold && BRIGHT != LIGHT_MAX) {
BRIGHT = LIGHT_MAX;
sendCmdAll(CMD_INTENSITY, BRIGHT);
lastBright = BRIGHT;
} else if (ledLevel < lowerThreshold && BRIGHT != LIGHT_MIN) {
BRIGHT = LIGHT_MIN;
sendCmdAll(CMD_INTENSITY, BRIGHT);
lastBright = BRIGHT;
}
}