Разноцветный LED-куб «Инфинити» своими руками

 Перевел SaorY для mozgochiny.ru

Всем мозгоинженерам мозгопривет! Если вам интересна тема LED-кубов, то из нижеприведенной статьи вы узнаете, как своими руками собрать один из вариантов — разноцветный куб 8х8х8.

 

raznotsvetnyiy…-svoimi-rukami1

 

Идею я почерпнул из вполне детального мозгоруководства по созданию LED-куба, но для меня этого было мало и я решил улучшить его.

Просчитав модель большого одноцветного куба, я быстро понял, что увеличение массива светодиодов до 16 штук в ряду приведет к 8-ми кратному увеличению числа требуемых светодиодов и взаимосвязей между ними. Манипуляции с 4096-ю светодиодами это для меня слишком, поэтому умерив свой пыл, я решил сделать куб с массивом 8х8х8, но из цветных светодиодов, а не простых одноцветных. Для справки, даже такой небольшой куб с 8-ю диодами в ряду требует около 2200 спаек!

Во время ознакомления с информацией о кубах, я наталкивался на «Инфинити»-проекты, те, в которых светодиоды «зажаты» между зеркалом и прозрачным стеклом, создавая эффект бесконечного отражения. Эту задумку я решил внести и в свой мозгопроект, увеличив тем самым реальный LED-массив куба.

Для массива из 512 RGB светодиодов, каждый из которых имеет три сигнальных контакта, требуется большое количество этих самых сигналов чтобы включать/отключать светодиоды. И следовательно, нужен способ для распределения управляющих сигналов между LED (мильтиплексирование). По своей конструкции светодиоды катодо-заземленные с ограничивающим резистором на аноде.

 

 

Шаг 1: Мультиплексирование — буферные микросхемы

 

raznotsvetnyiy…-svoimi-rukami2
В этой светодиодной поделке применены два вида мультиплексирования, с помощью которых и происходит независимое управление каждым из 512 светодиодов. Первый тип использует восьмеричные «флип-флоп» буферные микросхемы, это позволяет создать достаточно управляющих сигналов для массива 8х8, то есть для 1/8 части куба.

Этот массив 8х8 содержит 64 светодиода и, соответственно, требуется 192 управляющих сигнала, чтобы задействовать все цветовые вариации. А чтобы получить такое количество сигналов необходимо собрать цепь из 24-х буферных микросхем в которой выход первого буфера управлял входом второго, выход второго управлял входом третьего буфера и так далее. Наглядно участок такой цепи, где соединяются два буфера друг с другом и со светодиодами, представлен на рисунке 2.

Тактовый сигнал поступает от контроллера и используется для сдвига выходного сигнала одной буферной микросхемы чтобы передать его на следующую микросхему.

Буферный драйвер я сделал модульным, что позволяет мне менять размеры куба по высоте, в зависимости от нужного количества светодиодов. Для этого я собрал плату с тремя буферными микросхемами, которая управляет одним рядом из восьми цветных светодиодов. Восемь таких плат соединенных вместе управляют всем массивом 8х8.

Используемый здесь 16-ти дрожечный мозгокабель передает между платами 10 управляющих сигналов плюс питание и заземление. А ленточный кабель используется для передачи сигналов к светодиодам через резисторы размещенные на плате. Каждая из плат имеет свои конденсаторы для «набора» тока и подачи его на светодиоды при необходимости.

 

 

Шаг 2: Мультиплексирование — NPNтранзисторы

 

raznotsvetnyiy…-svoimi-rukami3

 

raznotsvetnyiy…-svoimi-rukami4

 

raznotsvetnyiy…-svoimi-rukami5

 

raznotsvetnyiy…-svoimi-rukami6

 

raznotsvetnyiy…-svoimi-rukami7

 

На рисунке 3 можно увидеть как каждый из светодиодов массива 8х8 управляется посредством цепи буферных микросхем.

Для того, чтобы контролировать остальные семь массивов 8х8 нужно применить еще один вид мультиплексирования. Для этого необходимо все катоды светодиодов массива 8х8 соединить вместе, а затем запитать на «массу» через NPN-транзистор, с помощью которого можно будет включать/отключать весь массив 8Х8 одновременно подав управляющий сигнал на базу транзистора. На рисунке 4 представлена схема этого «общего катода». А на фото рядом показан «брикет» из 8-ми плат драйверов.

Итак, соединив вместе катоды всех светодиодов в каждом из массивов 8х8 с помощью восьми NPN-транзисторов теперь можно управлять включением/отключением каждого массива и следовательно, любым светодиодом в любом массиве самоделки в частности.

Все конечно здорово, но на деле это означает, что в конкретный момент времени светится лишь 1/8 часть куба. И лишь постоянно переключая свечение массивов с частотой не различимой человеческим глазом, можно добиться эффекта свечения всего куба.

RGBx8

 

 

Шаг 3: Сборка

Достаточно теории, засучив рукава переходим к практике, то есть погружаемся в мир гибки лапок и пайки. Это как раз два самых трудоемких момента при создании LED-куба — загнуть правильно большое количество лапок и затем спаять их верно. Каждый шаг требует не дюжего заряда энергии, чтобы процесс шел нормально и качественно, ведь с каждой спаянной лапкой «выпадаешь» из жизни. На мое мозгосчастье большую часть этого процесса я сделал во время рождественских каникул, настроение которого поддерживало мой интерес в то время как руки были заняты пайкой.

LEDCube

 

 

Шаг 4: Загиб лапок

 

raznotsvetnyiy…-svoimi-rukami8

 

raznotsvetnyiy…-svoimi-rukami9

 

Итак, первым делом берем 512 светодиодов и начинаем правильно отгибать лапки-контакты. Для облегчения процесса я в дощечке высверлил отверстие диаметром 5мм, так, чтобы светодиод плотно и заподлицо входил в него, но при этом и легко из него извлекался. После этого рядом с отверстием начертил вспомогательные линии, упрощающие загиб мозголапок. Нагляднее на рисунке 6.

Одна из начерченных линий проходит вертикально по центру отверстия (А), другая горизонтально по центру (В) и третья, горизонтально по касательной вершине отверстия (С).

Кстати пришлась металлическая линейка, ей удобно отгибать лапки. На рисунке 7 показан весь процесс загиба:
— вставляем светодиод в отверстие и ориентируем его так, чтобы «сигнальные»лапки находились по линии (В) и катодная лапка была второй справа,
— первый загиб: отгибаем катодную лапку вниз, а анодные лапки вверх, параллельно линии (А). При этом загибаем так, чтоб лапки плотно, в одной плоскости прилегали к дну светодиода,
— второй загиб: с помощью металлической линейки отгибаем лапку катода влево, параллельно линии (В),
— третий загиб: опять с помощью линейки, поставив ее на линию (С), отгибаем анодные лапки вверх. Один светодиод загибается вниз, а 511 влево!

 

 

Шаг 5: Сборка массива 8х8

 

raznotsvetnyiy…-svoimi-rukami10

 

raznotsvetnyiy…-svoimi-rukami11

 

К следующему шагу можно приступать когда у вас имеется не менее 64-х подготовленных светодиода, из которых можно собрать полноценный массив 8х8.

Для крепления светодиодов, я с помощью верного друга, 3D-принтера, сделал приспособление, файлы с ним загружены сюда. Если же у вас нет такого печатающего друга, то вот в этом мозгоруководстве описывается альтернативный способ крепления светодиодов. Перед пайкой светодиоды устанавливаются в распечатанные держатели, затем анодные лапки светодиодов одного столбца припаиваются соответственно друг с другом, а катодные лапки припаиваются к катодам соседних столбцов этой же строки. Подробнее на рисунке 8.

Во время пайки советую не торопиться и пайку сделать качественно и красиво, это потребует больше времени, но оно окупится позже, во время запуска поделки.

После сборки каждого столбца я проверял его на работоспособность, чтобы убедиться в функциональности каждого светодиода, и отсутствии неполадок в сборке. Для этого я присоединил к блоку питания на 5В длинные проводки, а к их концам припаял два резистора с теми же номиналами, что и резисторы на плате драйвера Порта 1, и все это позволило мне «запускать» светодиоды без риска их спалить.

С помощью еще одного верного друга — металлической линейки, я зажимал одновременно все катоды столбца и проверял его полностью, а не отдельно каждый светодиод. Чтобы вынуть светодиоды из держателей, достаточно аккуратно нажать на вершину каждого светодиода и, вращая держатель, снять его.

После спайки всего массива 8х8, откладываем его и переходим к любимому загибу светодиодных лапок для следующего массива.

 

 

Шаг 6: Объединение массивов

 

raznotsvetnyiy…-svoimi-rukami12

 

После того как все лапки светодиодов были отогнуты, а сами светодиоды спаяны в массивы, пришло время собрать их в единую конструкцию.

Я положил первый массив на стол и припаял два отрезка одножильного провода к каждому катодному проводу по обе стороны мозгомассива для большей прочности структуры и страховки от возможного плохого контакта между проводами.

Чтобы получить эти отрезки одножильного провода, выпрямлял которые я с помощью двух плоскогубцев, пришлось поэкспериментировать с разными проводами и найти нужный для хорошего свечения светодиодов при выбранном токе, да и красиво выпрямляющийся без особых усилий с моей стороны. Для выстраивания массивов в куб я прокладывал их небольшими коробками. Затратив немного времени на выравнивание всей конструкции для отличного вида, я снова проверил работоспособность всех светодиодов. Виртуальный вид куба-поделки представлен на рисунке 9.

 

 

Шаг 7: Подготовка основы

 

raznotsvetnyiy…-svoimi-rukami13

 

raznotsvetnyiy…-svoimi-rukami14

 

raznotsvetnyiy…-svoimi-rukami15

 

raznotsvetnyiy…-svoimi-rukami16

 

Собранный куб получился довольно прочным, но все же довольно легким и если установить его неправильно, то вся работа может пойти на смарку. Я взял кусок МДФ, такой же, что и для приспособления, облегчающего загиб лапок,и высверлил в нем сквозные отверстия диаметром 5мм под анодные лапки нижних светодиодов. Перед этим я измерил расстояние между крайним правым и крайним левым светодиодами на обоих сторонах куба и нашел среднее значение, дальше повторил процедуру с задней и передней сторонами. Затем высверлил еще 8 отверстий диаметром 3мм для катодных проводов идущих от каждого массива куба.

И в окончание я выбрал 6-мм паз для установки стеклянной мозгокрышки и окрасил основание в черный цвет.

 

 

Шаг 8: «Мозг»

 

raznotsvetnyiy…-svoimi-rukami17

 

raznotsvetnyiy…-svoimi-rukami24

 

С помощью нескольких кусков печатной платы я подключил «мозг» поделки — микроконтроллер ECIO40P16 к 5В-му источнику питания, а также собрал цепь общего NPN драйвера. Использование именно 5В-го источника питания позволяет применять в поделке ток довольно большого номинала без выделения большого количества тепла.

Flowcode-компоненты LED-куба «неприхотливые» и будут работать почти с любым микроконтроллером, кроме 8- битных PIC-контроллеров, так как они мне могут иметь массив значений больше, чем 256 байт. Для данного размера куба микроконтроллера ECIO40P16 хватит с лихвой, но если у вас есть только что-то из стандартных AVR на основе Arduino, то и они должны управлять кубом.

Какой бы вариант размещения и защиты электронных компонентов вы не выбрали, не забудьте сделать отверстие для подключения питающего кабеля. Компоненты SMPSUs иногда бывают в металлических корпусах, их можно так и установить в куб, чтобы обезопасить электронику. Еще можно оставить USB-кабель, подключенный к микроконтроллеру, что даст возможность перепрограммировать самоделку без необходимости снятия корпуса, и взаимодействовать с кубом через USB соединение с помощью Flowcode.

 

 

Шаг 9: Софт

 

raznotsvetnyiy…-svoimi-rukami18

 

 

raznotsvetnyiy…-svoimi-rukami19

 

Для создания визуальной симуляции и кода управления кубом я воспользовался программой Flowcode v6, это все, что понадобилось для создания моего шедевра.

Начал я с создания сферы на панели редактора, сделал ее невидимой, а затем, используя API-симуляцию, клонировал ее несколько раз увеличивая по всем осям до достижения границ куба. Потом написал мозгопроцедуру, позволяющую мне задать и «высветить» цвет каждого светодиода в отдельности. Она позволила мне генерировать процедуры рисования линий и параллелепипедов, а еще немного более сложные макросы вращения и переключения. С помощью опции «предыдущего компонента» я смог написать макрос разрывания текста и, наконец, добавив систему двойного буфера симуляции стороны компонента, получил полный функционал.

Для дополнительных опций я создал 16-битный массив вариантов каждого цвета светодиода в кубе. Затем написал еще функцию, которая может назначать повторно обработку таких вещей как синхронизация с буферными данными и переключение между восемью общими каналами. И наконец, все что осталось сделать, это добавить код в макрос получения и установки цвета, чтобы массив считывался и записывался, когда не запущен режим симуляции. Последний компонент теперь доступен [3], и может быть просто перетащен на панель Flowcode. Сам редактор Flowcode показан на рисунке 10.

Полезные файлы с кодом находятся здесь RGBLEDCube.

 

 

Шаг 10: Представление

 

raznotsvetnyiy…-svoimi-rukami20

 

raznotsvetnyiy…-svoimi-rukami21

 

raznotsvetnyiy…-svoimi-rukami22

 

raznotsvetnyiy…-svoimi-rukami23

 

 

Инструменты редактора Flowcode были использованы для разработки комплекта тестовых программ генерирующих эффекты дождя с молниями, шаровой молнии, двух взаимодействующих плазменных шаров, текстового дисплея и векторной анимации.

На представленном видео показана визуальная работа данной поделки.

В будущем планируется добавить в схему мозгокуба микрофон для интерактивного взаимодействия с визуальным отображением с помощью таких способов как FFT (алгоритм быстрого вычисления дискретного преобразования Фурье), чтобы разложить аудиосигнал по частотам.
На этом о мозгокубе все, удачи в творчестве!

(A-z Source)

ПОДЕЛИТЕСЬ С ДРУЗЬЯМИ!


3 Replies to “Разноцветный LED-куб «Инфинити» своими руками”

  1. Гараздо интереснее подключать подобный куб к компу и использовать как светомузыку через плагин в винампе. Тема старая, но до сих пор актуальная.

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

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

* Copy This Password *

* Type Or Paste Password Here *