Hi-Poly Cube Lamp - Магнитный Ремикс
Распечатайте, как показано на рисунке, прижмите и приклейте восемь магнитов D5x2 мм суперклеем, наслаждайтесь.
Бонус: теперь его можно устанавливать на поверхности из черного металла, такие как холодильник или шкаф.
Сердечники светодиодов можно собрать несколькими способами: намоткой по спирали или декартовыми полосками. Размеры сердцевины были выбраны кратными светодиодам в ленте длиной 60 м/метр — 16,67 мм.
Ниже приведена справочная таблица для определения правильного индекса светодиода на основе координат X и Y.
Квадратное ядро, построенное, как показано, является «КАРТЕЗИЙСКИМ».
Скошенный угловой сердечник, построенный, как показано на рисунке, является «ОКТАГОНАЛЬНЫМ».
// #define CARTEASIAN
#define Восьмиугольный
#ifdef CARTEASIAN //конфигурация декартова хай-поли куба ------------------------------------------------------------------------------
// устанавливает точные логические определения, светодиодные массивы: лицевая сторона 6В x 4Ш и верхняя часть 4x4
const uint8_t kMatrixWidth = 16; //Переменная X, 4 грани по 4 светодиода в каждой
const uint8_t kMatrixHeight = 7; //Переменная Y, вертикальные строки + верх
//алгоритм намного больше и медленнее ищет индекс светодиода
static uint8_t XY_LUT[] = {0,11,12,23,24,55,56,87,88,99,100,111,72,71,40,39,
1,10,13,22,25,54,57,86,89,98,101,110,73,70,41,38,
2,9,14,21,26,53,58,85,90,97,102,109,74,69,42,37,
3,8,15,20,27,52,59,84,91,96,103,108,75,68,43,36,
4,7,16,19,28,51,60,83,92,95,104,107,76,67,44,35,
5,6,17,18,29,50,61,82,93,94,105,106,77,66,45,34,
33,47,32,31,30,48,49,62,81,63,80,79,78,64,65,46
};
#endif
#ifdef OCTAGONAL //конфигурация hi-poly куба со скошенной угловой башней ------------------------------------------------------------------------------------------------------------
// задает точные логические определения, светодиодные матрицы: лицевая сторона 6В x 4W и верхняя часть 3x3
const uint8_t kMatrixWidth = 16; // переменная X,
const uint8_t kMatrixHeight = 7; //Переменная Y, вертикальные строки + верх
static uint8_t XY_LUT[] = {5,6,17,18,29,30,59,60,99,98,87,86,75,74,45,44,
4,7,16,19,28,31,58,61,100,97,88,85,76,73,46,43,
3,8,15,20,27,32,57,62,101,96,89,84,77,72,47,42,
2,9,14,21,26,33,56,63,102,95,90,83,78,71,48,41,
1,10,13,22,25,34,55,64,103,94,91,82,79,70,49,40,
0,11,12,23,24,35,54,65,104,93,92,81,80,69,50,39,
38,105,37,105,36,105,53,105,66,105,67,115,68,51,52
};
#endif
// XY *************************************************************
uint16_t XY( uint8_t x, uint8_t y)
{
//запрос через простой индекс расположения светодиодов, чтобы использовать справочную таблицу
uint8_t lutIndex = (y * kMatrixWidth) + x;
вернуть XY_LUT[lutIndex];
}





























