Светодиодный кубик. Светодиодный куб


Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Светодиодный куб 4х4х4 на Arduino



В этой статье описано создание светодиодного куба 4х4х4 на Arduino.

Список элементов
1. 64 Светодиода
2. 16 Резисторов
3. 1 Arduino (я использовал Arduino Pro Mini atmega328 5V 16M (заказал на ebay))

Выбор светодиодов
Перед сборкой куба я рекомендую проверить каждый светодиод. Просто подайте на него +5В через резистор. Если куб будет изготовлен с неисправным светодиодом, поменять его бывает затруднительно. У большинства светодиодов положительный вывод (анод) более длинный, чем отрицательный (катод). Также можно посмотреть светодиод на свет, при этом будут видны два кусочка метала. Меньший из них это положительный вывод (анод).

Расчет резистора
Номинал резистора будет зависеть от типа ваших светодиодов. Используя закон Ома U = IR, мы можем рассчитать резистор. Мы должны знать максимальный рабочий ток и падение напряжения на светодиоде. У моих светодиодов падение напряжения 3.4В и максимальный ток 20мА. На выводах Arduino 5В и мы получаем (5-3.4) / 0.020 = 80. У нас получилось значение 80 Ом, я использовал резисторы 100 Ом. Рассчитать сопротивление для светодиода вы можете на он-лайн светодиодном калькуляторе .

Основной принцип куба

Куб 4x4x4 будет содержать 64 светодиода собранных в 16 столбцов и 4 горизонтальных слоя. Аноды(+) всех светодиодов каждого столбца соединены вместе. Слои состоят из соединённых катодов светодиодов. Для управления светодиодами надо подать 5В на необходимый столбец и GND на необходимый горизонтальный слой. Для предотвращения превышения тока можно запускать только один слой и столбец одновременно. Для зажигания нескольких светодиодов или всего куба сразу мы будем использовать динамическую индикацию, т.е. переключать их с частотой больше воспринимаемой человеком. Например, если надо зажечь третий светодиод на четвертом столбце, необходимо подать на столбец HIGH (5В) и на слой LOW (0В).

Изготовление шаблона
Для сборки красивого симметричного куба нам потребуется шаблон. Это кусок доски с просверленными в нем на равном расстоянии отверстиями(я использовал кусок плотного картона ). Расстояние между отверстиями определяется длиной согнутого катода светодиода. Длина согнутого катода моего светодиода оставляет около 25мм, поэтому я взял расстояние между светодиодами примерно 23мм. Размер отверстий необходимо подобрать так, чтобы светодиод сидел в них не слишком туго и не слишком свободно.

Порядок сборки светодиодного куба 4х4х4 (Фотографии взяты с сайта masterkit.ru)

1. В первую очередь необходимо подготовить выводы светодиодов. Смотрите рис. 1.
Шаг 1. Короткий отгибаем на 90 градусов.
Шаг 2. С помощью пинцета формуем короткий так, чтобы на 3 мм. увеличился шаг между выводами.
Шаг 3. Теперь, в сторону отгибаем длинный.

2. Установите в отформованные светодиоды в отверстия платы. Сначала первый ряд. Рис. 2. Соедините пайкой длинные выводы. Рис.3.

3. Длинные выводы от крайних светодиодов каждого ряда выступают за край платы. Аккуратно подгибайте их вдоль платы и соединяйте пайкой между собой. Рис.4

Введение

LED Кубы появились уже давно, есть множество примеров их изготовления. На просторах интернета можно найти различные, начиная от , заканчивая большими объемными 3D LED экранами. Наиболее оптимальный размер с которого можно начать освоение их построения и программирования для начинающих это 8х8х8 (512 светодиодов), кубы меньших величин, не столь явно показывают световые эффекты, а кубы начиная уже с 16х16х16, довольно сложны в изготовлении начинающим.

В этой статье я хочу поведать создание LED Куба, размером 8х8х8, с использованием в качестве управляющего микроконтроллера, платы Arduino Pro Mini. Данная модель куба, может работать в двух режимах: световых эффектов и режим часов. Это стало возможным, благодаря интеграции в схему модуля RTC.

Принцип действия

Управление световым кубом из 512 светодиодов осуществляется посредством MOSFET-транзисторов, 64 транзистора отвечают за подачу положительного напряжения на столбцы, и 8 транзисторов за подачу отрицательного напряжения на слои. Ток (соответственно яркость) светодиода регулируется по средством 64 резисторов (R011-R641) стоящих после выхода транзисторов на столбцах. Открытие и закрытие транзисторов осуществляется при помощи сдвиговых регистров, которые в свою очередь управляются по двум линиям (отдельно столбцы и слои) платой Arduino.

Вся конструкция куба разделена на части:

  • Схема №1 или главная плата, на которой установлен сам микроконтроллер (плата Arduino), RTC модуль, SD модуль, сдвиговый регистр и MOSFET-транзисторов, отвечающие за слои;
  • Схема №2 или плата контактов, которая отвечает за крепления самого куба и открытия подачи положительного напряжения на столбцы;
  • Схема №3 или пульт, отвечает за кнопочные команды устройству;
  • Блок питания 5V (15A в данной конструкции применён такой, но поддержка такого тока не обязательна, всё зависит от тока светодиодов, смотрите ниже расчёт);
  • Сам Куб 8х8х8 из 512 светодиодов.

Блок питания подбирается из учёта питания светодиодов, так как одновременно возможно свечение только одного слоя, то есть это 64 светодиода. Если принять ток одного светодиода равным 30мА, то получаем: 30мА*64=1920мА, то есть будет достаточно 3А блока питания, для питания всей конструкции.

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

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

Схема №1, главная управляющая плата:

Коммутационная часть, осуществляет ввод основного питания на устройство (J6). Для прошивки платы Arduino Pro Mini, служит модуль USB to TTL, который подключается через J6-1, контакты J6-J1 и J6-J2, служат для подключения питания на плату Arduino от модуля (данное питание необходимо для прошивки, если не используется блок питания). Разъем J4, служит для подключения SD карты, а J5 для подключения модуля RTC. Плата Arduino Pro Mini, подключается через, группу разъемов J1 (1-1, 1-3, 1-4). Группы разъемов J2 и J3, служат для подключения сигнальных линий для управления платами контроля питания столбцов (Схема 2), и подачи питания. Группа разъемов J7, служит для подключения клавиатуры (Схема 3). И наконец группа J8, отвечает за подключение второй части Схемы 1 (управление слоями):

Вторая часть Схемы 1, предельно проста: сдвиговый регистр, дает команды MOSFET-транзисторам (1-открыть транзистор, 0-закрыть), сдвиговый регистр, получает через линию данных команды от первой части Схемы 1.

Рассмотрим, Схему 2, она разделена на две одинаковые части, для контроля по 32 столбца каждая. Так как они абсолютно идентичны, рассмотрим только одну:

Так же как и в предыдущей схеме, сдвиговый регистр даёт команды (которые получает через линию данных от платы Arduino Pro Mini), MOSFET-транзисторам (за исключением теперь, 0-открывает транзистор, а 1-закрывает). Так же тут присутствуют на выходе с транзистора, резисторы по 250 Ом, они служат для контроля тока светодиода, и могут быть заменены на номинал более подходящий для не совсем яркого свечения (в зависимости от используемых светодиодов).

И завершающая, Схема 3, плата кнопок, где всё предельно просто:

Проверка каждого слоя перед их спайкой:

Прошивка платы Arduino Pro Mini (sketch)

Скетч занимает более 500 строк, он будет приложен в конце статьи, а здесь постараюсь коротко его описать.

Есть две основные функции управления сдвиговыми регистрами ("column" - заполнение столбцов и "layer_column" - выбор слоя и вызов функции "column"), обе они реализованы через функцию shiftOut. Это самый легкий способ управления регистрами, но возможно не самый быстрый. Следом идет основная функция закрашивания всего куба "cube", смысл функции заключается в том, что она последовательно и по циклу (цикл получается само собой) закрашивает каждый слой куба. В веду такой реализации происходит мерцание куба, оно ели заметное из-за быстрого микропроцессора.

Существует два режима работы куба: "Демонстрация световых эффектов" и "Отображение времени". Смена осуществляется при помощи кнопки "Mode". При первом режиме, происходит последовательное считывание с SD карты данных, далее передача выше указанным функциям. Второй режим реализован гораздо сложнее, так как все данные этого режима вшиты в микропроцессор (этим и объясняется количество строк кода). Если коротко, то данные с RTC модуля считываются и исходя из этого, опять же, выше указанным функциям отправляются соответствующие битовые переменные, для отображения на светодиодах. Так же реализована возможность настройки часов, при помощи кнопок управления, для этого достаточно в режиме часов нажать кнопку "Setup", далее при помощи кнопки "Change" менять режим (часы, минуты, дни и т.д.) и настраивать при помощи кнопок "Up" и "Down". В конце нажав на кнопку "Reset", можно сохранить настройки.

Расположение кнопок, согласно Схемы 3:

Программа создания световых эффектов (C++ Builder 6)

Чтобы создание эффектов сделать упрощенным и функциональным, а так же просмотреть заранее спроецированные эффекты, перед их записью на SD, было решено написать программу на C++, с использованием Open GL.

Исходный код для Borland C++ Builder 6, приложен к статье.

Заключение

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

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

  1. Электрическая часть, не представляет сложности в реализации;
  2. Спайка куба, освещена во многих других статьях, по этому я не останавливался на этом, но спаять могу сказать довольно не простое занятие (т.е. больше 1000 точек припоя);
  3. Внедрение RTC модуля, не оправдало мои ожидания, так как показ времени не совсем разборчив, это можно наблюдать на видео, единственное если сделать белый матовый корпус, тогда цифры хорошо отличимы.

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Схема №1, главная плата
Плата Arduino Arduino Pro Mini 1 5V, 16MHz В блокнот
Модуль USB to TTL CP2102 1 В блокнот
Часы реального времени (RTC)

DS1307

1 В блокнот
Модуль SD card SD card 1 В блокнот
U1 Сдвиговый регистр

SN74HC595

1 В блокнот
Q1-Q8 MOSFET-транзистор

IRLR024N

8 В блокнот
R1-R8 Резистор

10 кОм

8 В блокнот
R1-R8 Резистор

3 кОм

8 В блокнот
С1-С2 Электролитический конденсатор 1мкФ 1 В блокнот
Схема №2, плата кантактов
U1-U8 Сдвиговый регистр

SN74HC595

9 В блокнот
Q1-Q64 MOSFET-транзистор

IRLML6302TR

64

На youtube часто попадаются интересные проекты. Одним из таких, является, светодиодный куб. Прелесть данного устройства в том, что выводится настоящее 3D изображение. Можно рисовать любые объемные анимированные фигуры. Но в пределах выбранного разрешения куба.

За основу была взята статья с радиокота (кто захочет может нагуглить). Размер куба 5х5х5 выбран не случайно. Чтобы собрать данный куб понадобится 5*5*5=125 светодиодов. Если сравнить с еще одним популярным вариантом 8*8*8=512, т.е. количество светодиодов увеличится в 4 раза. Поэтому оптимальным мне кажется 5х5х5.

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

Начал непосредственно с самого куба. Нарисовал матрицу размером 100х100. Расстояние между кружками 20мм. Диаметр 5мм. Распечатал на бумаге и приклеил к деревяшке.

Просверлил отверстия. Хитро загибаем катод (-) светодиода. Анод сгибаем под 90 градусов.

Катод оставляем торчать к верху, а анод припаиваем к соседнему светодиоду. Получается «этаж» светодиодов с общим «+».

Для усиления конструкции слева припаял еще проводник. Первый этаж готов. Аналогично делаем еще 4 этажа.

Собираем все этажи вместе. Для этого припаиваем к предыдущие этажи к последующим.

Для основания использовал фольгированный стеклотекстолит размером 100х100. Места для пайки светодиодов вытравил. В результате получилась следующая конструкция:

Не совсем ровно, но все легко подгибается. Теперь непосредственно к схеме. Для сборки необходимо:

  1. 25 резисторов 150-220 Ом,
  2. 125 светодиодов,
  3. 5 конденсаторов 0,1мкФ (ставятся по питанию триггеров),
  4. 2 конденсатора 22пФ,
  5. Atmega16,
  6. кварц 12-16МГц,
  7. 5 резисторов 2,2коМ,
  8. 5 триггеров 74hc574,
  9. 5 транзисторов BC558.
  10. 1 конденсатор 100мкФ (по питанию обязательно!!! иначе схема работать не будет)

С одной стороны тут все просто, но нужно не запутаться. В отличие от предыдущих проектов здесь используется Atmega16(Atmega16A-16PU). Я использовал рабочую частоту 12МГц, на 16МГц будут чуть быстрее светодиоды переключаться. Кроме того, здесь используются триггеры. Чтобы понять зачем, нужно проникнуться логикой схемы.

Все входы триггеров подключены параллельно. Допустим нам нужно включить первый светодиод на 2 этаже (D2.1) и при этом не включить светодиоды на 1,3,4,5 этаже (D1.1, D3.1, D4.1, D5.1). Выводим на PORTC.0=0, так как именно 0 в данном случае включает светодиод. На входе триггера появляется 0, однако на выходе его состояние не меняется. Для изменения состояния нужно подать импульс на вход CLK, т.е. вывести поочередно, на ножку PA1 логический ноль и логическую единицу. Теперь все катоды DA1.1-DA5.1 подключены к земле, чтобы зажечь именно D2.1, нужно всего навсего включить 2 этаж, т.е. открыть транзистор Q2, вывести логический ноль в PD6.

Свои эффекты писать пробовал, получилось, но как то в голову не пришло ничего, чего не было в готовых прошивках. Поэтому итоговой взял готовую прошивку, для куба 5х5х5 в интернете нашлось несколько вариантов. Чистого времени на сборку ушло 3 дня. Хороший подарок, собранный своими руками.

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

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 будет

Представляю проект 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 Резистор