CRGB leds[NUM_LEDS]; //Задаём значение светодиодов
uint8_t digits[] = {
0b00000000, // Пробел
0b00111111, // Digit 0
0b00100001, // Digit 1
0b01110110, // Digit 2
0b01110011, // Digit 3
0b01101001, // Digit 4
0b01011011, // Digit 5
0b01011111, // Digit 6
0b00110001, // Digit 7
0b01111111, // Digit 8
0b01111011, // Digit 9
0b01111000, // Digit * градус 10
0b00011110, // Digit C 11
0b01111100, // Digit P 12
0b01111000, // Digit % знак % из двух частей 13
0b01000111, // Digit % знак % из двух частей 14
};
Если набивка буфера идёт с конца, то при i=4 и Now=0. Добавь вывод "Пробел" если первая цифра в часах равна "0".
// Преобразуем время в массив для отображание
void TimeToArray()
{
int Now = GetTime(); // Получаем время
BrightDots(Dot);
for (int i = 1; i <= 4; i++)
{
int digit = Now % 10; // Получаем последнюю цифру в времени
int cursor = NUM_LEDS - i * LEDS_IN_SEGMENT * 7;
if (i > 2) {
cursor -= DOTS_NUM;
}
BrightDigit(digits[digit], cursor);
if ( i == COLOR_CHANGE)
{
if (digit != last_digit)
{
ledColor = ColorTable[random(NUM_COLORS)]; // цикличное изменение цветов
}
last_digit = digit;
}
Now /= 10;
};
};