Светодиодный 3d куб своими руками. Cветодиодный куб (LED Cube)

В проекте предложена конструкция светодиодного куба (LED cube) 4x4x4 стоимостью около 15 долларов.

В кубе использовано 64 зеленых светодиода, которые формируют 4 слоя и 16 колонок. Управление кубом реализуется на базе Arduino. Приведен пример программы для Arduino Uno, в которой реализовано управление каждым отдельным светодиодом из всего массива.

Необходимые детали для проекта

  • 64 светодиода
  • 4 резистора на 100 Ом
  • Коннекторы для распайки
  • Проводники
  • Макетная плата для распайки
  • Коробка
  • Источник питания на 9 В
  • Arduino Uno

Инструменты, которые могут вам пригодиться, приведены на фото ниже.

Формируем основу светодиодного куба

Можете воспользоваться эскизом, который приведен . Распечатайте его и наклейте на картонную коробку. При печати проверьте, чтобы был выставлен фактический размер и горизонтальная ориентация. Карандашом сделайте отверстия в узловых точках. Проверьте, хорошо ли садятся светодиоды в подготовленные отверстия.

Собираем светодиодный куб

Возьмите 64 светодиода и проверьте их работоспособность, подключив каждый к пальчиковой батарейке. Это, конечно, скучная процедура, но она необходима. Иначе из-за одного нерабочего светодиода впоследствии может быть куча проблем. Установите 16 светодиодов в отверстия в соответствии со стрелками на распечатке. Красные стрелки соответствуют плюсу (анод), синие - минусу (катод). Все аноды соедините между собой. После этого переверните коробку и вытолкните светодиоды. Выталкивайте аккуратно, чтобы не повредить собранный слой. Все. Первый слой готов. Аналогичным образом формируем еще три слоя. После соединяем четыре получившихся слоя с помощью свободных катодов. Советую соединять контакты начиная с центра и перемещаясь к периферии. Светодиодный куб начинает принимать необходимые очертания!

Установка светодиодного куба

Сделайте разметку на макетной плате с помощью маркера. Учтите, что размеченный прямоугольник должен быть немного меньше коробки, на которой будет установлен ваш куб. После разметки сделайте небольшой паз вдоль линии будущей грани и аккуратно отломайте ребра макетной платы. Сделайте 20 отверстий на верхней части вашей коробки для куба. Можно разметить места для сверления по соответсвующим отверстиям макетной платы.

Подключаем светодиодный куб

Сначала разделите вашу рейку коннекторов на три части таким образом, чтобы они подошли к цифровым и аналоговым пинам Arduino Uno. Зачистите и установите на вашей маетной плате в коробке 16 проводов для цифровых входов (рядов). 4 провода от аналоговых входов подключите с использованием резисторов на 100 Ом. Теперь переходите к подключению концов проводов к трем рейкам коннекторов. Подключение реализовано таким образом, что есть возможность управлять светодиодами вдоль трех осей. Колонки соответсвуют осям X и Y. Плюс к этому, благодаря четырем слоям мы получаем координату Z. Если вы посмотрите вниз с угла светодиодного куба, первый квадрант будет соответствовать обозначению (1, 1). Таким образом, каждый светодиод может быть инициализирован по подобной же методике. Давайте рассмотрим пример. Посмотрите на рисунок выше и найдите светодиод A(1,4). "A" означает, что это один и первых слоев, а "(1,4)" соответсвтует координатам X=1, Y=4.

Схема подключения

Ряды/колонки

Слои

[Пины для слоев]

Подключаем источник питания для Arduino

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

В общем то все, что вам после этого останется - загрузить скетч на Arduino и наслаждаться результатом:

Ваш куб готов!

Видео собранного светодиодного куба 4x4x4

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

Забегая вперёд, хочется сказать о том, что не нужно думать об объёме работы как о чём-то колоссальном. Напротив, делать совсем пришлось совсем немного, а вот те, кто думают: " Ха, я сделаю это за пару дней", - приготовьтесь к обратному. Да и сам процесс вовлекает в работу не хуже написания какого-нибудь программного кода…

Наблюдая за маленькими работами, размером 3х3х3, и 4х4х4, и 5х5х5, я потихоньку понимал, что чем больше - тем лучше.

Milestone #1:

Если вы до этого не работали с паяльником, для начала осознайте что нужно будет припайвать все ножки светодиодов, это 2*512, не так-то мало. Поэтому потренируйтесь на каких-нибудь кошках.


В интернете полно инструкций на эту тему. Но от начала до конца я увидел кажется только на instructables.com, и сразу скажу, как-то там слишком подробно в плане всего. Использовал лично я компонентов в раза два меньше. Естественно комплектация получилась попроще. В итоге для нашей маленькой игрушки нам понадобится:

512 светодиодов (6$ - aliexp)
- 5 специальных микросхем для светодиодов STP16CPS05MTR (9$ - aliexp)
такие детали выгоднее брать партиями естественно
- 8 BD136 pnp транзисторов (отечественные аналоги также подойдут)
- 5 1кОм резисторов (рабочая мощность 2 W)
- 5 10мкФ конденсаторов (рабочее напряжение 35-50 V)
- соединительные провода (около 10 м вышло, учитывая неудачи), припой и все, кто по-кайфу

Время приступить к изготовлению макета

Берем дрель, линейку, делаем сеточку 8х8 (главное не сделайте 8х9, как я) на чём угодно, будь то пенопласт, деревянная доска или что-то ещё. И аккуратно сверлим дырочки для светодиодов.

Milestone #2:

Ключевое слово - «аккуратно», пару миллиметров влево или вправо, и у вас уже будет кривой куб в итоге.


После того, как этот шаг выполнен, вставляем светодиоды в ячейки и соблюдаем следующее правило:

А) Все аноды должны быть слева, а катоды справа. Или наоборот. Как вам удобнее.
б) Самый первый ряд сверху должен содержать светодиоды под углом:

По такому принципу соединяем катоды (-). Там, где отмечено пунктиром - прикрепите какую нибудь проволоку, чтобы слой держался с двух сторон крепко.

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

Итог первого слоя


Перед тем, как начинать припаивать второй слой, нужно взять и загнуть все аноды следующим образом:

Соединяем несколько слоёв


Milestone #3:

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

Когда ты немножко устал


Итак, припаяв 64 провода к анодам, которые у нас получились «на дне», можно приступать к самой электронной схеме.

Видим, что выходы наших микросхем по обе стороны переходят в общие аноды колонок куба, а в 5-ой мы мультиплексируем через транзисторы управление слоями. Вроде бы все не сложно: подаётся сигнал на определённые колонки и слои, и мы получаем пару светящихся светодиодов.

На деле это работает так:

Имеется 3 входа: тактирование, данные и защёлка. Когда отработалось 8 битов, идет защелка, и данные помещаются в регистр. Т.к. у нас микросхемы выполнены на сдвиговых регистрах, то для того, чтобы отрендерить 1 раз наш кубик разными битами информации, нам нужно записать 1 байт (8 битов с номерами слоев, на которые подавать напряжение), далее будут идти пустые данные, т.к. для пятого чипа у нас левые пины ни к чему не подсоединены. Далее мы записываем по 1 байту для каждой из группы из восьми колонок. Соответствующий бит будет определять, которая колонка должна гореть, и где это пересекается с активированным слоем, светодиод на их пересечении и должен получить напряжение.

Ниже представлена схема из даташита разработчика для общего ознакомления:

Как мы будем записывать 1 байт данных:

Void CUBE::send_data(char byte_to_send){ for(int i = 0; i < 8; i++){ if(byte_to_send & 0x01< Использовал Arduino UNO (взял попользоваться), но здесь подойдет вообще любая модель. И nano, и mini, поскольку используются только 3 цифровых входа и vcc + gnd.

Отдельно позаботьтесь о блоке дополнительного питания (я использовал адаптер 12V 2A), для отображения всех слоев кажется ток именно такой силы и нужен.

Весь исходный код в виде скетча для Arduino будет

Куб? Это - куб, по всему объему которого расположены светодиоды. И каждый светодиод (можно цветной) - управляется отдельно. С помощью светодиодного куба можно создавать различные световые шоу и анимацию. Светодиодный куб может отображать различную световую анимацию, которая уже запрограммирована в нем. Сложные схемы 3Д светодиодных кубов даже могут отображать различные объемные слова и надписи. Проще говоря светодиодный куб по своей сути является объёмным монитором, только с низким разрешением, который позволяет отображать пространственные структуры и графику. Конечно, это решение не подходит для просмотра видео, но может быть хорошо использовано для оформления шоу и презентаций, для развлечений и выставок, рекламы и дизайна. Думаю, многим хотелось собрать такой LED кубик, но не у всех была возможность приобрести микроконтроллер, и конечно не все умеют программировать. Поэтому вот очень простая схемотехническая альтернатива:

Предложенный вариант светодиодного куба не нуждается в программировании, схема проста и все детали доступы. А микросхема CD4020 дает разнообразные композиции, почти не уступающие программируемым кубикам. Привожу список используемых в кубе деталей с описанием:

1)КР1006ВИ1 (NE555)


Микросхема включает около 20 транзисторов, 15 резисторов, 2 диода. Выходной ток 200 мА, ток потребления примерно на 3 мА больше. Напряжение питания от 4,5 до 18 вольт. Точность таймера не зависит от изменения напряжения питания и составляет не более 1% от расчетного значения.

2) К561ИЕ16 (CD4020, MC14020)


Это 14-разрядный двоичный счетчик-делитель.


3)Светодиоды - на ваш вкус, 27шт;
4)Резистор 33К;
5)Конденсатор 10мкФ;
6)Микро выключатель с фиксацией (не обязательно);
7)Крона 9В;
8)Панели для микросхем (не обязательно).

Итак, рисуем печатную плату светодиодный куба на стеклотекстолите и погружаем в хлорное железо .

А пока наша плата травится займемся самой сложной частью - самим LED кубиком. Просверлим отверстия в фанере или плотном картоне под светодиоды и вставим их туда. Теперь все катоды (минусы) сгибаем по часовой стрелке и спаиваем их. К среднему светодиоду припаиваем проволочки самостоятельно.


Таким же образом делаем остальные этажи светодиодного куба.


Теперь надо их спаять вместе. Только на этот раз спаиваем аноды светодиодов (плюсы).


Припаиваем последний третий этаж. Готово!!)))


Берем нашу уже протравившуюся плату и сверлим отверстия. Сначала к печатной плате припаиваем перемычки, а потом детали.


И наконец, последний штрих – припаиваем кубик.


Теперь подключаем 9В и ждём результат. УРА - работает:


Но если поднять питание схемы 12В может сгореть микросхема CD4020. Именно по этому я и поставил крону 9В. В этом есть свои плюсы: кубик можно таскать с собой, ему не нужна розетка и микросхема уже не сгорит. Но есть и минусы – периодически придется менять батарейку. Для своего светодиодного куба я сделал коробочку из картона. И вот что у меня в итоге получилось:

Материал и фото предоставил [)еНиС.

Обсудить статью СВЕТОДИОДНЫЙ КУБ

В этой статье описана сборка светодиодного куба 5 х 5 х 5, который управляется при помощи Arduino и вся конструкция располагается на печатной плате.

Видео работы светодиодного куба:

Разработка куба и материалы

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

Я использую 5 дешифраторов по 3-8 линии на каждый (также они известны как демультиплексоры), чтобы преобразовывать двоичный сигнал с 5-битного параллельного входа в 25-битный параллельный выход, который управляет светодиодами. Особенностью этих дешифраторов является то, что высокий уровень сигнала может быть одновременно только на одной из 25 линий. Если на пяти контактах Arduino 01010 (10 в двоичной системе), дешифраторы принимают этот сигнал и выводят его на свой 10 контакт. Всего их 25 с номерами 0-24.

В схеме также используются NPN транзисторы, на катодах каждой плоскости куба.
Куб собран на специальной печатной плате изготовленной на заводе, что позволило избежать большего количества проводов. Всего проект обошелся в $100.

Предварительно удостоверьтесь, что ваши дешифраторы дают высокий уровень сигнала на один из выводов, а на все остальные низкий, т.к. есть микросхемы, которые дают низкий уровень сигнала на один вывод, а высокий на все остальные.

Предварительные наброски схемы и таблицу

Сборка куба

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

Я просверлил в доске отверстия 5мм с расстоянием между ним 2.5 см. Светодиоды вставляются в эти отверстия и соединяются вместе. Таким образом делается 5 слоев.

Когда все 5 слоев готовы, их надо соединить. Расстояние между слоями должно быть 2.5 см, чтобы куб не был сплющенным или растянутым. От катода каждого слоя приведите вниз куба по проводу, который затем будет впаян в плату. Всего такой куб насчитывает около 300 точек пайки.

Для подключения куба я использовал кабель CAT5, т.к. он дешев и доступен. Я собрал схему на макетной плате. Выберите угол куба который будет считаться точкой начала отчета и подключите к его аноду вывод 0 дешифратора. Следующим анодом считается ближайший анод по оси X, а когда они закончатся, используйте аноды по оси Y. Я использовал резисторы по 150 Ом между дешифратором и столбцом.

Для подключения катодов используется NPN транзистор. Используйте резистор между базой транзистора и Arduino. Подключаете 1вывод транзистора к GND, 2 к Arduino, 3 к катоду.

Программа для Arduino

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

Код разбит на 4 основных части:

LEDs.h:
Содержит номера всех контактов и массивов.
DisplayBasics.pde:
Содержит несколько основных «формы» в кубе, для использования в модели.
Patterns.pde:
Содержит образцы программ отображения, которые можно увидеть на видео в начале статьи.
LEDCubePCB.pde:
Это окончательный вариант моего кода. Номер исполняемой программы изменяется в зависимости от положения потенциометра.

Расширение функциональности

Для того, чтобы светодиодный куб был ещё лучше, необходимо изменять программу отображения, неперепрошивая микроконтроллер. Для переключения программ я решил использовать перемычки, а для изменения длительности программы потенциометр. Но я забыл, что при использовании перемычек необходимо подтягивающее напряжение. Его можно получить путем использования подтягивающих резисторов.

Печатная плата

Я разработал эту схему и печатную плату в Eagle. К статье прилагаются исходники в формате Eagle, которые можно редактировать. При проектировании печатной платы обратите внимание на размер отверстий, особое внимание уделите проводам.

Плата была изготовлена на заводе на заказ. Если вы не можете изготовить плату на заводе, вы можете сделать её при помощи ЛУТа или фоторезиста.

Производство и сборка печатной платы

Чтобы отправить проект на производство, необходимы файл сверловки и Gerber файлы. Я не умею их делать, но следуя инструкциям в интернете смог сделать и их. Эти файлы прилагаются к статье. Обратите внимание, что перемычки теперь подключены к GND и работают за счёт внутренних подтягивающих резисторов Arduino.

Начните сборку с резисторов и панелек, а сам куб паяйте в последнюю очередь. Все компоненты использованы в обычном выводном корпусе, поэтому монтаж достаточно пост. Паяйте плату чистым жалом, соблюдайте температурный режим и не перегревайте компоненты. Я использовал разъемы для всех микросхем.

Готово!

После сборки платы загрузите программу в Arduino и проверите её. Если схема работает неправильно, перепроверите правильность подключения и сборки куба.

В архиве ниже прилагаются файлы Eagle, Gerber и исходники ПО

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U$1 Плата Arduino

Arduino Duemilanove

1 В блокнот
V1-V5 Кодер, декодер

CD74HC238

5 В блокнот
T1-T5 Биполярный транзистор

2N4401

5 В блокнот
Светодиод Синий 125 5 мм В блокнот
R1-R25, R27-R31 Резистор

150 Ом

30 В блокнот
R26 Подстроечный резистор 10 кОм 1 В блокнот
SV1, RESET Джампер 6

Опубліковано 05.08.2011

Еще одна простая светодиодная игрушка, но не менее эффектная, чем – светодиодный куб или . Видео того, что получилось можно посмотреть прямо здесь.

На Youtube можете найти много аналогичных и более крутых вещей. Самая ценная деталь – это куб, собранный из светодиодов. Мы будем строить простой куб с размерами грани 4x4x4 светодиода. Т.е. нам понадобиться 4x4x4=64 светодиода яркого свечения любого цвета. Хотел сделать куб 8x8x8, но тогда понадобилось бы 512 светодиодов. С учетом стоимости светодиодов дороговато как для простой игрушки, начнем с простого 4x4x4.

Как работает куб

Все сразу светодиоды нам не засветить, нужно много ног микроконтроллера. Поэтому поступают проще – поочередно включают по одному “этажу” светодиодов. Человеческих глаз инертен и не может уловить столь быстрое переключение и нам кажется, что горят светодиоды всех этажей. Но при этом нужно понимать, что каждый отдельно взятый этаж светодиодов горит не все время а отведенный ему период. Период свечения 1/кол этажей. В нашем случае 4. Т.е. Яркость свечения будет 1/4 от номинальной. Поэтому мы и взяли сверх яркие светодиоды, в противном случае у нас получился бы бледный куб.

Плата управления

На плате управления микроконтроллер ATMega8 отвечает за логику работы, пара микросхем – сдвиговых регистров для подачи сигналов на “столбы” и 4 транзисторных ключа, которыми включается нужный этаж светодиодов. Микроконтроллер отправляет в сдвиговые регистры необходимое число, а затем включает нужный транзисторный ключ, зажигая нужный этаж. Затем операция повторяется для каждого “этажа”.

На плате предусмотрен разъем для и подключения куба к компьютеру через модуль . Таким образом, можно заставить куб светиться по командам из компьютера. Однако, куб замечательно работает и без компьютера, правда тогда он сможет прокручивать только “фильм” зашитый в его памяти, но этого, как правило, более чем достаточно.

Куб можно питать от USB порта компьютера. Это удобно при подключении к компьютеру. Я питал отдельно, поскольку планировалось сделать отдельное устройство. На видео можно заметить отдельную плату простого стабилизатора напряжения на 5В, на который подается 12В от внешнего блока питания. Поскольку в один момент времени максимум могут гореть не 64 светодиода, а только 16, то их суммарный потребляемый ток (из расчета 20мА на каждый светодиод) 16*20=320мА. Что допустимо для USB порта.

Сборка светодиодного куба

Светодиоды спаиваются таким образом, чтобы одна из ножек соединялась с ножками других светодиодов по вертикали, формируя “столб”, а другая нога соединялась со всеми светодиодами в плоскости (в “этаже”). К кубу припаиваем провода по одному к столбу (16 шт.) и по одному на каждый этаж (4 шт.). По этим 20 проводам выполняется управление кубом. Подключается куб к плате следующим образом:

Интерфейс с компьютером

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

Софт для создания и проигрования эффектов

Для упрощения работ с созданием различных световых эффектов был создан простенький софт на Flash: . С его помощью можно составить различные эффекты и сохранить файл. Файл – это простая последовательность чисел, которую можно вставить в исходный код, скомпилировать и получить прошивку со своими собственными эффектами. Кроме того, этот файл можно проигрывать на подключенном к компьютеру кубе с помощью простой программы написанной на Delphi. Пример ее можно скачать здесь.