На солнце точно не видно (на нем только отражающиеся технологии видать), но при освещении (например) в торговых центрах (искусственный) - отлично. Всё зависит от источника света, светится ведь грань/неровность. Сейчас много поделок на эту тему есть, но это чисто игрушки: https://ru.aliexpress.com/item/animal-3 ... 89122.html
Главный плюс этой штуки в том, что размеры не ограничены.
Очередная идея фикс. Придумалось приспособить модуль на MAX7219 под LED куб 4 на 4 на 4. Для чего надобно изъять матрицу из платки и заменить на самодельный куб с 16 проводками.Вопрос: не встречались ли кому готовые решения по изготовлению такого куба, ведь в обычном, если "разворачивать его в плоскость" получается "формула 16*4", а не "8*8"?
Соорудил куб для макетирования, вместо матрицы. Особенность в том, что нет вертикальных соединений в самом кубе, 8 контактных стоек вынесены за его пределы.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Arduino UNO // //////////////////////// // //программа для LED КУБА вместо светодиодной матрицы 8*8 и max7219 //
#include "LedControl.h"//подключаем данную библиотеку int i=0;int j=0;int k=1;
LedControl LC = LedControl(12, 11, 10, 2);// создаём объект класса для 2 индикаторов // при этом выводы 12-DIN 11-CLK 10-CS //
void setup() { pinMode(9,INPUT); LC.shutdown(0, false);//выключаем энергосберегающий режим LC.setIntensity(0, 0);// устанавливаем интенсивность в 0 единиц между 0 и 15 LC.clearDisplay(0);//очищаем матрицу 1 LC.shutdown(1, false);//выключаем энергосберегающий режим LC.setIntensity(1, 15);// устанавливаем интенсивность в 15 единиц между 0 и 15 LC.clearDisplay(1);//очищаем матрицу 2 }
void loop() { /////////////// ПОСТРОЧНОЕ ВКЛЮЧЕНИЕ ВСЕХ СВЕТОДИОДОВ /////////////////// for (i=0;i<=7;i++) //цикл в цикле для перебора элементов матрицы { for (j=0;j<=7;j++) { LC.setLed(1, i, j,1); LC.setLed(0, i, j, 1); delay(100); } } /////////////// МИГАНИЕ СВЕТОДИОДАМИ ВСЕГО КУБА //////////////////////// for (j=0;j<=4;j++) { LC.shutdown(0, true);LC.shutdown(1, true); delay(300); LC.shutdown(0, false);LC.shutdown(1, false); delay(300); } /////////////// ПОСТРОЧНОЕ РЕВЕРС-ВЫКЛЮЧЕНИЕ ВСЕХ СВЕТОДИОДОВ ////////// for (i=7;i>=0;i--) //цикл в цикле для перебора элементов матрицы { for (j=7;j>=0;j--) { LC.setLed(1, i, j,0); LC.setLed(0, i, j, 0); delay(100); } } /////////////// ПОСЛОЙНОЕ ВКЛЮЧЕНИЕ И ВЫКЛЮЧЕНИЕ ВСЕХ СВЕТОДИОДОВ /////////////////// for (i=0;i<=7;i++) //цикл в цикле для перебора элементов матрицы { for (j=0;j<=7;j++) { LC.setLed(1, i, j,1); LC.setLed(0, i, j, 1); if (i==1&j==7){delay(500);} if (i==3&j==7){delay(500);} if (i==5&j==7){delay(500);} if (i==7&j==7){delay(500);}
} } for (i=0;i<=7;i++) //цикл в цикле для перебора элементов матрицы { for (j=0;j<=7;j++) { LC.setLed(1, i, j,0); LC.setLed(0, i, j, 0); if (i==1&j==7){delay(500);} if (i==3&j==7){delay(500);} if (i==5&j==7){delay(500);} if (i==7&j==7){delay(500);}
} } /////////////// ПОСЛОЙНОЕ ВКЛЮЧЕНИЕ И ВЫКЛЮЧЕНИЕ С ПАУЗОЙ СВЕТОДИОДОВ СЛОЁВ /////////////////// for (k=1;k<=4;k++)//4 кратное повторение перебора { for (i=0;i<=7;i++) //цикл в цикле для перебора элементов матрицы { for (j=0;j<=7;j++) { LC.setLed(1, i, j,1); LC.setLed(0, i, j, 1); if (i==1&j==7){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==3&j==7){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==5&j==7){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==7&j==7){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);}
} } } /////////////// ПОРЯДНОЕ ЧЕРЕЗ ОДИН ВКЛЮЧЕНИЕ И ВЫКЛЮЧЕНИЕ С ПАУЗОЙ СВЕТОДИОДОВ СЛОЯ /////////////////// for (k=1;k<=4;k++)//4 кратное повторение перебора { for (i=0;i<=7;i++) //цикл в цикле для перебора элементов матрицы { for (j=0;j<=7;j=j+2) { LC.setLed(1, i, j,1); LC.setLed(0, i, j, 1); if (i==0&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==1&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==2&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==3&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==4&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==5&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==6&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);} if (i==7&j==6){delay(500);LC.clearDisplay(0); LC.clearDisplay(1);}
} } }
//////////////////// ОЧИСТКА МАТРИЦ ПЕРЕД НОВЫМ ПОВТОРОМ ПОЛНОГО ЦИКЛА //////////////// LC.clearDisplay(0);//очищаем матрицу 1 LC.clearDisplay(1);//очищаем матрицу 2
} // // Конец / // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Простенькая "анимация-декорация" без массивов получается...
Добавлено спустя 3 минуты 7 секунд: Плюс в том, что можно теперь с мах7219 куб раздуть до 8 на 8 и дальше...
Зарегистрирован: 13 май 2011, 21:37 Сообщения: 3202 Откуда: Bb
Была идея кубик делать, но с обычными выводными ледами выглядит грустно для меня. Паять много, а конструкция не "живая", т.е. без опции переделки/ремонта. Есть мысль использовать 1206 леды. У них на контактах радиуски есть. Если немного смекнуть, можно конструкцию делать, чтобы диоды можно было "кликать" в "вилочку". И заменяемо и то да сё.
Да, и я о том же много страниц назад - "горят китайские светодиоды" надо менять, а не удобно. Но теперь с мах7219 можно делать независимые съёмные слои светодиодов, а в перекрестиях (по рисунку)на каждом слое паять мини площадки по 16 штук, например. Правда как к ним "собачить вилку под SMD светодиод" не ясно. Вообще, пожадничал я с микросхемами...надо было их брать 4, а не одну - каждая на свой слой. Для LED555 куба подойдёт 5 и т.д. до восьми для LED888.
Зарегистрирован: 13 май 2011, 21:37 Сообщения: 3202 Откуда: Bb
Цитата:
съёмные слои
Для таких габаритов слишком блочно. По одной штуке нужно менять для хоум хенд мейд.
Цитата:
Правда как к ним "собачить вилку под SMD светодиод" не ясно.
Просплюсь и разрулю всё! Мысль у меня была такая: на незатейлевом шаблоне 3д сетку делать в нонстоп режиме, аки рабицу. Диоды цеплять потом, по вкусу.
Добавлено спустя 7 минут 29 секунд: Текстолит, наверно, не нужен - лишние телодвижения. Вариант - высечкой делать гребёнку. На пересечение зубьев этой гребёнки надевать бусину с двумя отверстиями и дальше лед усиками гребёнки прижимать.
Зарегистрирован: 13 май 2011, 21:37 Сообщения: 3202 Откуда: Bb
dimamichev писал(а):
Отверстия взаимно перпендикулярные,где такая бусина?,
Не обязательно. У нас провод гнётся. Можно параллельные отверстия. Чего то кажется, что бисер с двумя отверстиями существует. А если нет, то две штуки можно нанизать. Прозрачный бисер ещё и отсвечивать будет.
dimamichev писал(а):
нужен и "изолятор пересечений" и "механический скреплятель" одновременно.
Это да - бусина с двумя(тремя) дырками была бы в тему. Керамику с четырьмя отверстиями встречал. Колбаски. Но не прозрачные.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения