Нужно создать массив данных to_display на основании анализа строки phrase.
каждая буква добавляет в массив 8 значений. Все разные и зависят от буквы.
таблица соответствий хранится в массиве data.
Вроде что-то изобразил, но не работает. Массив, похоже не создаётся или содержит нули.
В чём беда?
[spoiler='Код программы.']
char phrase[ ] = "ABCDEFG"; unsigned char to_display[sizeof(phrase) * 8]; void setup() { unsigned char data[256][8] = { {124, 254, 211, 17, 17, 255, 254, 0}, //1-a {255, 255, 18, 33, 121, 207, 134, 0}, //2-r {255, 255, 130, 129, 193, 127, 30, 0},// 3-d {121, 255, 131, 128, 128, 255, 127, 0}, {130, 129, 157, 255, 227, 129, 65, 0}, {127, 255, 134, 8, 49, 255, 254, 0}, {120, 254, 195, 129, 195, 254, 120, 0} }; for (int i = 0; i < sizeof(phrase) - 1; i++) { char a = phrase[i]; switch (a) { case 'A': for (int j = 0; j < 8; j++) to_display[i * 8 + j] = data[5][j]; break; // case 'B': for (int j = 0; j < 8; j++) to_display[i * 8 + j] = data[1][j]; break; // case 'C': for (int j = 0; j < 8; j++) to_display[i * 8 + j] = data[2][j]; break; // case 'D': for (int j = 0; j < 8; j++) to_display[i * 8 + j] = data[3][j]; break; // case 'E': for (int j = 0; j < 8; j++) to_display[i * 8 + j] = data[4][j]; break; // case 'F': for (int j = 0; j < 8; j++) to_display[i * 8 + j] = data[5][j]; break; // case 'G': for (int j = 0; j < 8; j++) to_display[i * 8 + j] = data[6][j]; break; } } }[/spoiler]