Готовим массивы для светодиодных матриц в Excel

Автор: | 03.02.2015

Часто ли вы находите нестандартные применения обычным вещам? Если такое случается — то эта статья для вас. Сразу скажу, способ был испробован от безысходности, когда других инструментов кроме Excel под рукой не было.

Итак, начнем. Сразу определимся, что мы хотим получить.

Для вывода на стандартную матрицу 8 x 8 светодиодов — необходимо записать на нее 8 байт, каждый из которых будет отвечать за одну строку (столбец) из 8 светодиодов.

Чтобы проще было редактировать весь этот массив данных — реализуем в экселе визуальное отображение каждого светодиода. Зеленый кружочек — светодиод горит, белый — светодиод не горит.

Делается это с помощью средства «Условное форматирование».

Дальше — можно «рисовать» необходимую картину — вводя в ячейку «0» или «1».

А чтобы получить из «0» и «1» байты — применим школьную формулу преобразования двоичного числа в десятичное:

10110110 = (1·2^7)+(0·2^6)+(1·2^5)+(1·2^4)+(0·2^3)+(1·2^2)+(1·2^1)+(0·2^0) = 128+32+16+4+2 = 182

В ячейке под лампочками получается такая же формула:
=J14*2^7+J13*2^6+J12*2^5+J11*2^4+J10*2^3+J9*2^2+J8*2^1+J7*2^0

Ну и напоследок, мы же хотим получить код массива, чтобы сразу вставить в программу и проверить. Для этого объединяем содержимое ячеек через запятую при помощи конструкции &», «&. В итоге получится формула:

=«unsigned char to_display[]={»&B16&», «&C16&», «&D16&», «&E16&», «&F16&», «&G16&», «&H16&», «&I16&», «&J16&», «&K16&», «&L16&», «&M16&», «&N16&», «&O16&», «&P16&», «&Q16&», «&R16&», «&S16&», «&T16&», «&U16&», «&V16&», «&W16&», «&X16&», «&Y16&», «&Z16&», «&AA16&», «&AB16&», «&AC16&», «&AD16&», «&AE16&», «&AF16&», «&AG16&», «&AH16&», «&AI16&», «&AJ16&», «&AK16&», «&AL16&», «&AM16&», «&AN16&», «&AO16&», «&AP16&», «&AQ16&», «&AR16&», «&AS16&», «&AT16&», «&AU16&», «&AV16&», «&AW16&», «&AX16&», «&AY16&», «&AZ16&», «&BA16&», «&BB16&», «&BC16&», «&BD16&», «&BE16&», «&BF16&», «&BG16&»};»

В итоге, набив массив значениями «1» и «0», мы сразу видим результат:

А сгенерированный код можно сразу вставлять в программу и смотреть результат:

Статья так же публиковалась на geektimes.ru и drive2.ru


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *