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

14 января 2016 в 13:42

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

  • Схемотехника

Введение

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

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

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

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

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

Опубліковано 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. Пример ее можно скачать здесь.

Куб описанный на этой странице использует 5 х 5 х 5 матрицу с одним цветом светодиода. Это хороший размер для эксперимента, но количество светодиодов требуется 125, что ведет к увеличению расходов. Мощность - до 1 амп ток и 5В напряжение т.е. 5Вт (арифметика простая).

Весь куб обновляется каждые 10МС (100Гц). Это не приводит к никаким видимым мерцаниям.

Каждый из светодиодных слоев расположены в 5 х 5 матрице и контролируются транзисторами подключенных к светодиодным анодам. При соответствующем контроля слоя из ПОС выходит высокий уровень базы транзистора, +5 V и эмиттер находится около 0,7 вольт. Транзисторы используются BC637 NPN , если альтернативные используется должны быть аналогичной спецификации.

Катоды из светодиодов подключены к IC2 И IC3. Эти STP16CP05 16-бит постоянного тока драйвер для светодиодов. В 680R Резистор дает светодиодный ток ~ 28mA;номинал этого резистора может быть изменен для установки различных светодиодов (у разных светодиодов разные номинальные данные).

Один слой куба:

Одна колонка светодиодов в кубе:

Конденсаторы обеспечивают электропитание... C4 и C5, в частности, являются важными и должны быть танталовые, расположенных рядом с ICs.

Что касается светодиодов можно использовать практически любые 5 мм или 3 мм светодиоды, как Вы хотите.

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


Рис. 3


Рис.4


Рис.5


Рис. 6


Рис.7


Рис. 9



Рис.10

Рис. 12

Рис 1. Анода должен быть согнут под углом 90 °.

Рис 2. Аноды соедините вместе, а катоды должны быть прпендикулярны анодам.

Рис 3. Использование 5 вольт питания и резистор (от 120 до 330 Ом), необходимо проверить и визуально убдится,что все спаяно правильно. Подайте "+" на анод, а "-" на катод и светодиод должен загорется. Сопротивление необходимо для ограничения тока! Не забудьте при проверке!

Внимание. Если вы пропустите этот тест и получите светодиоды собраны в кубе, найти светодиод не рабочий, будет очень трудно!

Рис 4,5,6. Установка светодиодов в следующей строке и припаять их аноды вместе.

Рис 7. Продолжить установку светодиодов в каждой из строк, пайки и тестирование, как вы идете.

Рис 8. Со всеми пятью рядами завершили, припаять провода во всех строках провести слоем в форму. Этот провод служит также электрические соединения. Обратите внимание, каким проводам идет над и под светодиод анода приводит.

Повторите предыдущие шаги для каждого из пяти слоев.

Рисунок 9-12. Эти фотографии показывают общее расположение светодиодов куб.

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