ARDUINO Адресная матрица, изменить область вывода цифр

Askar

✩✩✩✩✩✩✩
17 Фев 2021
16
0
Здравствуйте
Проект https://alexgyver.ru/gyvermatrixbt/
Подскажите как изменить вывод цифр от 1 до 9 на адресной матрице
На первом фото показано как выводится цифры по умолчанию
А мне нужно чтобы цифры от одного до 9 выводились ближе к левому краю, как это сделано с 2 цифрами. (Второе фото, зеленая 1, только так должны выводится цифры от 1 до 9)
3е фото нашел какая функция отвечает за отображение счета
4е фото, изменив эту строку, я смог вывести числа 1, 2, 3, 4, 5, 6, 7, 8, 9 на матрицу, но потом все ломается
 

Вложения

Изменено:

Bruzzer

★★★✩✩✩✩
23 Май 2020
474
136
@Askar,
в функции drawDigit5x7(byte digit, byte X, byte Y, CRGB color) вы передаете координаты X и Y левого нижнего угла выводимой цифры digit , так что поменять место не сложно.
Простой вариант.
C++:
void displayScore(byte score) {
  if (SCORE_SIZE == 0) {
    if (score > 9) {
      drawDigit3x5(score / 10, WIDTH / 2 - 4, HEIGHT / 2 - 3, GLOBAL_COLOR_1);
      drawDigit3x5(score % 10, WIDTH / 2, HEIGHT / 2 - 3, GLOBAL_COLOR_2);
    }
    else
      drawDigit3x5(score, WIDTH / 2 - 4, HEIGHT / 2 - 3, GLOBAL_COLOR_2);
  }
  else {
    if (score > 9) {
      drawDigit5x7(score / 10, WIDTH / 2 - 6, HEIGHT / 2 - 4, GLOBAL_COLOR_1);
      drawDigit5x7(score % 10, WIDTH / 2, HEIGHT / 2 - 4, GLOBAL_COLOR_2);
    }
    else
      drawDigit5x7(score, WIDTH / 2 - 6, HEIGHT / 2 - 4, GLOBAL_COLOR_1);
  }
  FastLED.show();
}
 
  • Лойс +1
Реакции: Askar