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

Расположение светодиодов
Сразу хочется отметить, что не следует выбирать большие светодиоды, так как они будут загораживать друг друга и дальние ряды будут плохо видны. Также не стоит использовать очень яркие диоды. Дабы свет каждого диода был точечным.
Для проекта мы будем использовать не очень яркие 3мм диффузные светодиоды с длинными ножками.

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

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

Самый сложный момент – это построение схемы для управления светодиодным кубом и поиск неисправностей в цепи, если конечно таковые будут.
Для управления нашим кубом будет использоваться микросхема MAX7219. Изначально она предназначена для управления 7-сегментными светодиодными дисплеями. Используя данную микросхему, мы сведем количество элементов управления каждым слоем к минимуму.
Для управления каждым слоем из 64 диодов понадобится:
- Микросхема MAX7219;
- 10uF 16V электролитический конденсатор;
- 0.1uF керамический конденсатор;
- 12 кОм резистор (1/4W);
- 24 pin DIP IC socket;
- Плата Arduino Nano или Uno.

Для создания куба нам понадобится 8 комплектов вышеуказанных компонентов. Также стоит обратить внимание, что может понадобится другой резистор для конкретных светодиодов, которые вы будете использовать. Его роль в данной схеме – ограничить максимальное напряжение, которое будет выдавать микросхема MAX7219.
Для облегчения сборки куб был разбит на две части. По 4 слоя на каждой из них.
Куб может управляться извне любым микроконтроллером через интерфейс SPI. Для этого проекта мы будем использовать популярную плату Arduino (Nano). Для управления нашим кубом используя только 3 сигнальных провода (SPI) и 2 провода питания (5 В постоянного тока). Вы можете использовать более распространенную плату Arduino Uno вместо Nano. Они очень похожи (за исключением размера), так что проблем с подключением возникнуть не должно.
Также стоит обратить внимание на то, что все компоненты следует паять к нижней части печатной платы.

Для соединения плат вместе используются перемычки. Для соединения двух плат нужно 5 перемычек. Для создания одного блока из 4 слоев светодиодов понадобится 15 перемычек.

Большинство кубов цельные, в отличии от нашего. И при выходе из строя какого-либо светодиода в середине куба, добраться до него достаточно сложно. В нашем случае это не составит никакого труда.
База для пайки светодиодов
Подойдет лист фанеры иди ДВП, в котором следует просверлить отверстия диаметром 3 мм на расстоянии 18 мм друг от друга.
Сборка
Часть 1
Основные шаги для создания одного слоя:
- Подготовить 8 светодиодов с обрезанными катодными ножками до 10 мм;
- Заполнить все отверстия базы светодиодами;
- Согнуть и спаять катодные ножки;
- Согнуть и спаять анодные ножки;
- Припаять провода к катодным ножкам и закрепить их.

Данную процедуру необходимо повторить 8 раз.
Сборку одного слоя куба можно посмотреть на видео:
Часть 2
- Подготовить 15 перемычек;
- Припаять перемычки на печатную плату;
- Припаять электронные компоненты к плате;
- Припаять 5-контактный угловой коннектор для первого слоя;
- Обрезать пятый анодный контакт;
- Вставить и припаять все анодные ножки к отверстиям G, F, E, D, C, B, A и DP;
- Вставить и припаять катодные провода в отверстия D0, D1, D2, D3, D4, D5, D6 и D7;
- Обрезать провода и ножки с обратной стороны платы.
Вторая часть сборки на видео:
Проверка куба
Лучше проверять куб до полной сборки, каждый слой по отдельности. Так будет проще исправить проблемы, если они конечно же будут.

Для тестирования по очереди подключаем каждый слой к плате Arduino Nano (заранее следует установить тестовую программу). Строки должны загораться поочередно сверху вниз.
Код
Необходимо загрузить код на вашу плату, а затем подключить к готовому кубу.
На этом все. Остается только наслаждаться полученным устройством.
Данная статья является авторским переводом с сайта instructables.com.
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Светодиодный куб 5х5х5

В этой статье описана сборка светодиодного куба 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 и исходники ПО
Светодиодный куб
Электронное устройство, которое применяется в декоративных инсталляциях. Светодиодные кубы бываю размерами 3x3x3, 4x4x4, 5x5x5 и т.д. Изменяя скорость загорания и затухания светодиодов в кубе, мы создаём различные визуальные эффекты: бегущие огни, эквалайзер, 3d световая инсталляция.
Материал:
— плата для пайки или беспаечная плата
Инструменты:
— инструмент для снятия изоляции
— линейка или штангельциркуль
Электрокомпоненты
Рассмотрим схему данного куба

На рис. Представлена одна из сторон куба. Все четыре стороны соединяются по выводам плюсовой ножки светодиода в каждом ряду. В результате для всех ножек с полюсом “+” ,будет четыре вывода. В результате с помощью этих выводом можно управлять рядами светодиодов. Ножки с полюсом «-» соединяются между собой по вертикальным рядам куба. В результате мы получим 16 выводов, которые можно запитать на GND arduino.
Сборка модели.
Соберём конструкцию с использованием паяльной станции и платы для монтажа. Можно воспользоваться как платой для пайки, так и без пайки. Плату для пайки, рекомендую использовать только, если вы уверены в правильности сборки
Для того чтобы светодиоды образовали куб, их необходимо спаять друг с другом согласно схеме на рис. С помощью данной схемы мы получим одну из сторон куба.
Для начала, соберём вертикальный ряд из четырёх светодиод. У короткой ножки светодиода (знак « — ») подогнём конец с помощью плоскогубец. Длинную ножку светодиода сдвинем перпендикулярно короткой.
Используя держатель «Третья рука», спаяем данные светодиоды
Как видно из рисунка, короткие ножки мы спаяли, а длинные ножки остались свободными. Так необходимо проделать ещё четыре раза. В итоге, мы получим четыре ряда светодиодов
Приступим к процессу их соединения. Соединяться они должны с помощью длинных ножек (знак « + »). Соединение получается с помощью перекрестия. Постарайтесь уместить на одной длинной ножке светодиода четыре другие длинные ножки светодиодов
Так необходимо проделать для трёх сторон. С каждой стороны должно быть не больше четырёх вертикальных рядов.
Перед тем как поставить четвёртую стену куба, необходимо припаять четыре провода к плюсовым выводам светодиодов каждого ряда.
После этого, припаяем четвёртую сторону куба.
Для того чтобы куб был устойчив нужно закрепить его ножки минуса на монтажной плате, как предназначенный для пайки, так без пайки. В данном случае для надёжности конструкции я применил плату для пайки.
Минусы подключим к GND, а плюсы к пинам 8, 9, 10, 11 arduino. И напишем простую программу.которая поочередно посылает сигналы на ряды данного куба.

Процесс управления, а точнее, усложнения управления, можно воспользоваться сдвиговым регистром 74HС595. Данная микросхема способна управлять восемью светодиодами, т.е. может посылать сигналы на восемь выводов и при этом сама занимает три вывода на arduino. Если все шестнадцать выводов GND светодиодов подключить к двум регистрам, совместно с питанием плюсовых выводом, то можно регулировать свечение конкретного светодиода в кубе.
Для начала рассмотрим управление восьмью светодиодами через регистр.

Пример программы по управлению светодиодами. Подключим 16 минусовых выводов на два регистра.
Четыре плюсовых вывода куба подключим к пинам 2,3, 4 и 5
Загрузим на плату программу, которая вызовет эффект бегущих огней в кубе.

Как видно из рисунка, присутствует третий сдвиговый регистр, он может предназначаться для подачи сигналов на плюсовые контакты. В данной инструкции это было не сделано и все плюсовые контакты выведены напрямую на пины arduino.
Светодиодный куб 4x4x4

Представляю проект 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 индивидуальных линий управления светодиодами. Но можно одновременно засвечивать только один слой и делать это очень быстро, чтобы глаз не успел разглядеть время переключения между слоями. Этот эффект называется Persistence Of Vision Каждый слой — это изображение из 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 и программатор USBTinyISP. Я работаю под Ubuntu. Подробнее о прошивки микроконтроллеров под эту ОС вы можете почитать в этих статьях: программирование МК AVR в ОС Ubuntu и программирование МК AVR в ОС Ubuntu. Часть 2 (GUI) Итак, сперва нужно соединение программатора с микроконтроллером. Подсоедините программатор к плате куба и ПК.
Команда: avrdude -c usbtiny -p m16 Далее, заливаем прошивку командой: avrdude -c usbtiny -p m16 -U flash:w:main.hex Наш куб должен будет перезапуститься и стартовать. МК запуститься на очень низкой частоте 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