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

В этой статье описана сборка светодиодного куба 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

Куб? Это - куб, по всему объему которого расположены светодиоды. И каждый светодиод (можно цветной) - управляется отдельно. С помощью светодиодного куба можно создавать различные световые шоу и анимацию. Светодиодный куб может отображать различную световую анимацию, которая уже запрограммирована в нем. Сложные схемы 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В. В этом есть свои плюсы: кубик можно таскать с собой, ему не нужна розетка и микросхема уже не сгорит. Но есть и минусы – периодически придется менять батарейку. Для своего светодиодного куба я сделал коробочку из картона. И вот что у меня в итоге получилось:

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

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

Представляю проект 3D светодиодного куба (LED Cube) с матрицей 4х4х4.

64 светодиода образуют куб со сторонами 4х4х4, который управляется микроконтроллером Atmel Atmega16. Каждый имеет свой виртуальный адрес и может управляться с микроконтроллера индивидуально, позволяя таким образом добиваться потрясающих эффектов.

Видео работы куба смотрите ниже:

Итак, начнем...

Шаг 1. Что нам понадобится?

Первое, это терпение спаять все 64 светодиода вместе;)

Список радиодеталей:
Макетная плата (ну или вытравленная печатная)
Микроконтроллер Atmel AVR Atmega16
Программатор Atmega16
64 светодиода
2 светодиода состояния. Я использовал красный и зеленый. (опционально)
Микросхема Max232 rs-232 или подобная
16х резисторов для светодиодов. (100-400 Ом)
2x резистора по 470 Ом для светодиодов состояния
1x резистор 10кОм
4x резистор 2.2кОм
4x NPN транзистора BC338 (отеч. аналоги КТ645, КТ646, КТ660Б) или другой выдерживающий ток до 250 мА
1x 10мкФ конденсатор
1x 1000мкФ конденсатор
6x 0.1мкФ керамический конденсатор
2x 22пФ керамический конденсатор
1x кварц 14.7456 MHz
2x кнопки
Выключатель питания
Разъем питания 12В
Разъем питания 5В

Шаг 2. Мультиплексирование

Как управлять 64 светодиодами, если нет столько выводов управления? Мультиплексирование!

Если к аноду каждого светодиода присоединить вывод управления, то это будет непрактично, да и выглядеть будет не очень красиво. Один из способов побороть эту проблему - это разделить куб на 4 слоя, в каждом из которых будет 4х4=16 светодиодов.

У светодиодов в вертикальных колонках общий анод (+)
У светодиодов в горизонтальных плоскостях общий катод (-)

Теперь, если нужно засветить светодиод в верхнем левом углу сзади (0,0,3), необходимо подать GND(-) к верхнему слою и Vcc(+) к колонке в левом углу куба.

Если нужно засветить один светодиод или полностью весь слой, то это работает отлично...

Однако, если нужно засветить нижний правый угол спереди (3,3,0), возникают проблемы. Когда я подал GND на нижний слой и Vcc к передней левой колонке, я также засветил верхний правый светодиод спереди (3,3,3) и нижний левый светодиод сзади (0,0,0). Эта проблему казалось бы не побороть, без использования 64 индивидуальных линий управления светодиодами.

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

Каждый слой - это изображение из 4х4=16 точек (светодиодов) и если мы будем быстро переключать слои, то мы получим 4х4х4 3D куб!

Шаг 3. Конструирование шаблона для куба

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

Для начала, изготовим шаблон 4х4 из дерева.

Т.к. я не хотел сильно замарачиваться с решеткой куба, то решил по возможности использовать выводы светодиодов как основу решетки куба. Дистанция линий на сетке шаблона была выбрана исходя из длины ножек светодиодов. У меня получилось 25мм. Т.о. при такой сетке, нет необходимости что-либо наращивать или обрезать.

Итак, последовательность действий:
- найти и вырезать кусок фанеры
- нарисовать на ней решетку 4х4
- сделать углубления на всех пересечениях шилом или другим инструментом
- найти сверло, чтобы светодиод уверенно стоял в отверстии, и в то же время в последствии вы его могли легко вытащить
- просверлить 16 отверстий в шаблоне

Шаблон для куба готов!

Шаг 4. Конструирование светодиодных слоев

Итак, нам необходимо спаять 4 слоя светодиодов по 16 в каждом, а затем все 4 слоя спаять в один обьемный куб.

Процесс изготовления одного слоя (4х4) из светодиодов следующий:
- вставьте светодиоды в отверстия по 2-м дальним сторонам от вас и спаяйте их между собой
- вставьте светодиоды для следующего ряда, и также их спаяйте
- заполните так всю матрицу из 16 шт
- спереди, где нет соединения, добавьте связующие пересечения
- повторить процедуру 3 раза для оставшихся слоев.

Шаг 5. Конструирование куба

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

Положите первый слой на шаблон вниз головой. Это будет верхний слой куба.

Поместите второй слой на первый и очень точно совместите их. Также соблюдите расстояние между слоями 25мм, чтобы у вас получился идеальный куб. Это расстояние между катодами.
После того, как все выставили (воспользуйтесь приспособлением "третья рука"), припаяйте угловой анод первого слоя к угловому аноду второго слоя. И так все 4 угла.

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

Повторите процедуру для оставшихся 2-х слоев.

Шаг 6. Подбор токоограничивающих резисторов

Ток микроконтроллера AVR в сумме не может превышать 200 мА. Т.о. 200/16 дает нам 12 мА на один светодиод.

Я использовал резисторы номиналом 220 Ом. Получилось как раз 12 мА на один светодиод.

Шаг 7. Схемотехника

Схема контроллера для управления кубом, показана на рисунке выше.

RS-232 опционален и может быть опущен (микросхема IC2).

Шаг 8. Присоединение МК к светодиодному кубу

Обьяснять я думаю не надо, все показано на картинках.

Шаг 9. Программа, компиляция и прошивка МК

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

Если вы захотите использовать ATMega32 вместо ATMega16, то необходимо будет поменять настройки в makefile и перекомпилировать.

Для прошивки МК я использовал и программатор .

Итак, сперва нужно соединение программатора с микроконтроллером. Подсоедините программатор к плате куба и ПК.
Команда: avrdude -c usbtiny -p m16

Наш куб должен будет перезапуститься и стартовать. МК запуститься на очень низкой частоте 1 МГц используя встроенный тактовый генератор. Некоторые LED работать не будут, потому что порты GPIO заняты под JTAG.

Чтобы подключить внешний тактовый генератор и выключить JTAG, нужно перезаписать фьюзы:
введите: avrdude -c usbtiny -p m16 -U lfuse:w:0xef:m
затем: avrdude -c usbtiny -p m16 -U hfuse:w:0xc9:m

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

Ниже вы можете скачать прошивку, исходники и печатную плату в формате LAY

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 МК AVR 8-бит

ATmega16

1 В блокнот
IC2 ИС RS-232 интерфейса

MAX232

1 В блокнот
IC3 Линейный регулятор

LM7805CT

1 7805T В блокнот
Q2-Q5 Биполярный транзистор

BC338

4 КТ645, КТ646, КТ660Б В блокнот
LED1, LED2 Светодиод

АЛ307В

1 В блокнот
Светодиод

АЛ307Б

1 В блокнот
Светодиод 64 Куб В блокнот
C1-C5 Конденсатор 0.1 мкФ 6 В блокнот
C9 10 мкФ 1 В блокнот
C10 Электролитический конденсатор 1000 мкФ 1 В блокнот
Конденсатор 22 пФ 2 Керамика В блокнот
R1-R16 Резистор 100-400 Ом 16 12 мА на один светодиод В блокнот
R17 Резистор

10 кОм

1 В блокнот
R18-R21 Резистор

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



6. Выводы, мысли и идеи


Сборка этого куба - занятие не для слабонервных. Потребуется много усердия и терпения, чтобы его построить. На сборку я потратил два дня: один световой день у меня ушёл только лишь на формирование светодиодных сеток, и 5-6 часов следующего дня - уже на сборку всего остального. Очень хотелось поскорее его собрать.
Мои впечатления о нём в целом положительные, поскольку это не просто игрушка, а уже дорабатываемый девайс, который предлагает реальный простор для творчества благодаря поддержке Ардуино. Для меня это также возможность наглядно отточить навыки работы с массивами, без которых в серьёзных проектах уже никак не обойтись. Это различные операции, например как кольцевой сдвиг определённого диапазона элементов массива в указанную сторону, который часто применяется в навесных дисплеях для вывода бегущей строки.
Однако нашлась кучка моментов, которые мне не понравились - это реализация анализа музыкального спектра , самая лишняя и ненужная вещь здесь, но это на мой взгляд. У вас может быть иное мнение.
Функционал пульта ДУ не задействован на 100%, всего четыре рабочие кнопки - не густо.
Хотя плюсик тут есть - это возможность выключить нижнюю подсветку из экономных или эстетических соображений, т.к. у кого-то она может вызвать ощущение «китайской игрушечности». Если берёте самую дешёвую версию куба с поддержкой Ардуино и без пульта, то скорее всего отключить нижнюю подсветку уже не получится, но и тут есть выход - светодиоды можно просто выпаять потом, коснувшись толстым жалом паяльника сразу обоих выводов светодиода.
Однако задействовать все кнопки пульта вполне реально, если написать соответствующий код для Ардуино, подключив уже к нему инфракрасный приёмник и тогда можно будет, используя пронумерованные клавиши, переключаться между своими анимациями или выводом данных, например между курсами валют, температурой и временем. Правда тут уже без ESP8266 не обойтись. В общем, сам факт возможности вывода полезной информации посредством Ардуино делает куб весьма интересным для исследования и реализации полезных его свойств.