Введение
Идея эта в голову пришла спонтанно, до осени этого года я и догадываться не мог, что люди занимаются чем-то подобным в жизни. На самом деле про то, что такие «кубики» существуют, рассказал преподаватель схемотехники и предложил взять данную тему в качестве курсового.
Забегая вперёд, хочется сказать о том, что не нужно думать об объёме работы как о чём-то колоссальном. Напротив, делать совсем пришлось совсем немного, а вот те, кто думают: " Ха, я сделаю это за пару дней", — приготовьтесь к обратному. Да и сам процесс вовлекает в работу не хуже написания какого-нибудь программного кода…
Наблюдая за маленькими работами, размером 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<<i){
digitalWrite(SDI, HIGH); // согласно тайминговой диаграмме сначала активное состояние на линии данных
}
digitalWrite(CLK, HIGH); // затем на линии тактирования
digitalWrite(SDI, LOW);
digitalWrite(CLK, LOW);
}
}
void CUBE::latch(void){
digitalWrite(LE,HIGH); // и точно также мы сделаем с операцией защелкивания.
digitalWrite(LE,LOW);
}
Использовал Arduino UNO (взял попользоваться), но здесь подойдет вообще любая модель. И nano, и mini, поскольку используются только 3 цифровых входа и vcc + gnd.
Отдельно позаботьтесь о блоке дополнительного питания (я использовал адаптер 12V 2A), для отображения всех слоев кажется ток именно такой силы и нужен.
Весь исходный код в виде скетча для Arduino будет здесь.
- Такую вещь можно сделать самому за неделю, главное купить все компоненты;
- Можно поставить доп. модуль часов реального времени, и этот куб будет работать без подсоединения к ПК;
- Можно, конечно, кастомизировать данный предмет различными кнопочками и радиоуправлениями, но я не стал;
- Потренеровавшись на таком варианте «попроще», планирую в скором времени собрать RGB куб.
Выражается огромная благодарность автору данной идеи и духовному лидеру Nick`у Shulze. Материалы взяты с сайта hownottoengineer.com. Всем удачи и успехов во всех творческих начинаниях!
Комментарии (9)
IronHead
14.01.2016 16:03+2— 5 1кОм резисторов (рабочая мощность 2 W)
— 5 10мкФ конденсаторов (рабочее напряжение 35-50 V)
1) Зачем резисторы мощностью 2 Вт, когда они по сути управляющие и только лишь задают ток для выходов микросхемы, но не пропускают через себя всю мощность.
2) Зачем конденсаторы на напряжение 35-50В, если напряжение питание вашей схемы 12В?
BOOTor
14.01.2016 17:33+2Фото никакие — ничего не видно, а из описания не всегда можно догадаться о том что и как надо делать…
Z0nd0R
15.01.2016 04:56+4Судя по всему, сделано или взято из этой статьи hownottoengineer.com/projects/lc.html
IronHead
15.01.2016 09:38+4А вот там и разгадка двухваттных резисторов и конденсаторов с огромным запасом по напряжению
5 x 1k 2W resistors (2W is overkill but I already had them at home) [element14 part# 1417017]
5 x 10uF 35V Tantalum Capacitors (35 V is overkill but I already had a few) [element14 part# 1457591]
Для тех кто не знает английский — такие детали просто были у автора оригинальной схемы в наличии, а наш студент zhela не разобравшись в деталях — тупо скопировал.
И самое печальное — что это курсовик по схемотехнике, то есть в идеале он должен был сам схему спроектировать и рассчитать номиналы всех деталей.Alexeyslav
15.01.2016 11:55+2Вот на таких элементарных вещах и заваливаются студенты на экзаменах, при этом не понимая почему и считают препода зверем.
Но ведь вся суть электроники именно в этих деталях…
ptitca_zu
А где же видео-демонстрация?