Светодиодный 3D-куб

Step 10 Program the Microcontroller

If you are experiencing problems with speed and/or some LEDs not lighting up. Please read this step carefully.To program the microcontroller, I use avrdude and the USBTinyISP programmer.

My examples will be on an Ubuntu Linux system. The procedure should be pretty much identical on Windows, but I can’t help you with that. If you use another programmer, read thet manual for that programmer and avrdude.First off, Let’s just see if we can make contact with the AVR.Connect the programmer to your cube and your computer.The command is «avrdude -c usbtiny -p m16», wherer -c specifies the programmer, and -p the AVR model. You can see the output in the images below.Now, upload the firmware: «avrdude -c usbtiny -p m16 -U flash:w:main.hex».By now, the cube should reboot and start doing stuff. It will be running at 1mhz (very slowly) using it’s internal oscillator. And some of the leds won’t work, because some GPIO ports are used for JTAG by default.To enable the external oscillator and disable JTAG, we need to program the fuse bytes:run «avrdude -c usbtiny -p m16 -U lfuse:w:0xef:m»and «avrdude -c usbtiny -p m16 -U hfuse:w:0xc9:m».Be carefull when doing this step! If you get it wrong, you can permanently destroy your microcontroller! If you are using another microcontroller than the ATMega16, be sure to read the datasheet carefully before changing the fuse bytes!After writing the correct fuse bytes, the cube should reboot and start operating at regular speed with all leds operational.Enjoy your new cube 😀

Метеорит72 - лучший интернет магазин светодиодного освещения! Товары высочайшего качества, безупречный сервис, широчайший ассортимент, отличные цены, гарантия. Посмотреть продукцию >>>

Светодиодный куб 5х5х5 Led cube 5x5x5

 Офисные Светильники

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

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

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

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

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

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

 Светодиодная лента  Офисные Светильники

Для усиления конструкции слева припаял еще проводник. Первый этаж готов. Аналогично делаем еще 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 дня. Хороший подарок, собранный своими руками.

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

Step 9 Compile and Program

You now have a led cube. To make use of it, it needs some software.I have made a driver for rendering a 3d data space on the cube, and functions to display some cool visual effects on the cube.You can use my code, write your own or build on my code and make more effects.If you make your own effects, please send me the code. I’m eager to see what you guys make!To compile the program. Just open a command promt,enter the directory with the source codetype «make» on the command line.If you want to use an ATMega32 instead of the ATMega16, just change the mcu setting in the Makefile and recompile (type make). If you use the m32 and don’t do this step, the cube won’t boot properly (the red and green lights will keep blinking forever).You should now have a file named main.hex in the source directory.The next step will show you how to get that code into your cube.

Step 5 Making the Cube, Connecting the Layers

Now that we have those 4 layers, all we have to do is to solder them together.
Put one layer back in the template. This will be the top layer, so choose the prettiest one 🙂
Put another layer on top, and align one of the corners exactly 25mm (or whatever distance you used in your grid) above the first layer. This is the distance between the cathode wires.
Hold the corner in place with a helping hand and solder the corner anode of the first layer to the corner anode of the second layer. Do this for all the corners.
Check if the layers are perfectly aligned in all dimensions. If not bend a little to adjust. Or re-solder of it’s the height distance that’s off. When they are perfectly aligned, solder the remaining 12 anodes together.
Repeat 3 times.

Схема самодельного LED куба

Предложенный вариант светодиодного куба не нуждается в программировании, схема проста и все детали доступы. А микросхема CD4020 дает разнообразные композиции, почти не уступающие программируемым кубикам.

Список используемых в светодиодном кубе деталей

  • КР1006ВИ1 (NE555)
  • К561ИЕ16 (CD4020, MC14020) — 14-разрядный двоичный счетчик-делитель.
  • Светодиоды маленькие 27 шт
  • Резистор 33К
  • Конденсатор 10 мкФ
  • Микровыключатель с фиксацией (не обязательно)
  • Крона 9 В

Прежде всего рисуем печатную плату на стеклотекстолите и погружаем в хлорное железо травиться. А пока наша плата травится займемся самой сложной частью — самим кубиком. Просверлим отверстия в фанере или плотном картоне под светодиоды и вставим их туда. Теперь все катоды сгибаем по часовой стрелке и спаиваем их. К среднему светодиоду припаиваем проволочки самостоятельно. Таким же образом делаем остальные этажи куба. Теперь надо их спаять вместе. Только на этот раз спаиваем аноды светодиодов.

Берем нашу уже вытравившуюся плату и сверлим отверстия.

Сначала к печатной плате припаиваем перемычки, а потом детали.

И наконец, последний штрих – припаиваем кубик. Теперь подключаем 9 В и смотрим на результат.

Почему я поставил крону? В этом есть свои плюсы: кубик можно таскать с собой, ему не нужна розетка и микросхема уже не сгорит. Но есть и минусы – периодически придется менять батарейку.

Поделитесь полезными схемами

РЕГУЛЯТОР СКОРОСТИ ЭЛЕКТРОДВИГАТЕЛЯ КАРТИНГА   Принцип регулирования скорости вращения электроприводов постоянного тока основан на регулировании среднего значения напряжения, подводимого к двигателю. Импульсное регулирование позволяет создавать приводы с высокими энергетическими показателями.
САМОДЕЛЬНАЯ ПУШКА ГАУССА    При указанных номиналах схема развивает совсем недурную мощность в 50 ватт! емкость 1000 микрофарад способна заряжать всего за одну секунду. Мощность преобразователя вполне позволяет питать маломощные паяльники, лампы накаливания и т.п
FM ПЕРЕДАТЧИК НА МИКРОСХЕМЕ    Схема миниатюрного ФМ передатчика на микросхеме MAX2606, для качественного радиомикрофона или жучка.
СИРЕНА ИЗ ПОЛИЦЕЙСКОГО АВТОМОБИЛЯ    Корпус сирен — металлический, на передней панели можно увидеть переключатель крякалки, громкость, также кнопку активации сигнала. На задней части виден разъём питания и колокола, а также отсек предохранителя.
ПРЕОБРАЗОВАТЕЛЬ НА ПОЛЕВЫХ ТРАНЗИСТОРАХ    Основа преобразователя — задающий генератор на частоту 100Гц, который построен на микросхеме TL494. Драйвер построен на транзисторах.

Микросхема МАХ7219 и подключение светодиодов

Условная нумерация контактов модуля показана на рис. 3 Именно через них на светодиодную матрицу 8×8 поступает питающее напряжение. На этом же рисунке указаны выводы светодиодного куба, к которым подключают контакты модуля.

Рис. 3. Модуль на микросхеме МАХ7219.

Через контакты С1 -С8 высокий уровень напряжения поступает на столбцы матрицы, а через R1- R8 — низкий уровень на строки. Например, чтобы включить левый нижний светодиод (см. рис. 1), нужно подать на вывод С1 логическую единицу, на вывод R1 — ноль. Выводы R образуют ряды, выводы С — столбцы. К первым выводам подключаются все катоды светодиодов, ко вторым — аноды.

Рис. 4. Конструкция светодиодного куба.

Конструктивно куб (рис. 4) состоит из четырех одинаковых слоёв по 16 светодиодов в каждом. Схема одного слоя показана на рис. 5. В авторском варианте применены индикаторные светодиоды красного цвета свечения с диаметром корпуса 5 мм.

Каждый слой монтируется с помощью пластины-шаблона. Она изготовлена из листовой пластмассы толщиной 2…3 мм или толстого картона, её размеры — 80×80 мм.

В ней просверлены 16 отверстий диаметром 5 мм с шагом 20 мм. В отверстия вставляют светодиоды, аккуратно изгибают выводы (рис. 6) и производят их пайку в соответствии со схемой слоя.

Рис. 5. Схема подключения светодиодов в куб 4x4x4.

Удобнее производить соединения, например, в последовательности HL1, HL5, HL9, HL13. После последовательной сборки слоёв приступают к монтажу куба.

Для этого потребуются восемь стоек из двухстороннего фольгированного стеклотекстолита шириной 5 мм и длиной 60 мм каждая. Они будут обеспечивать механическое крепление и электрическое соединение слоёв в единый куб.

Рис. 6. Изгиб выводов.

Выводы катодов верхних двух слоёв (см. рис. 4) попарно припаивают к внешней стороне (по рис. 4) каждой стойки, нижних двух слоёв — к внутренней стороне.

Аноды (выводы) первого и третьего слоёв (отсчёт сверху) соединяют с внешней стороной стоек, второго и четвёртого слоёв — с внутренней. Внизу, к каждой стойке, припаивают двухконтактный разъём, для соединения с платой модуля в соответствии с рис. 3, рис. 4 и рис. 5. Далее собирают устройство в соответствии с рис. 7.

ДЕЛАЕМ КУБ 3х3х3 НА ARDUINO. ИЗ СВЕРХЯРКИХ СВЕТОДИОДОВ

Ещё один из самых интересных проектов для Arduino называют светодиодный куб 3х3х3, или светящийся куб из светодиодов. Так как мы решили в раздел готовые уроки заносить полностью проверенные работы, придётся пройти по шагам этого мануала и создать свой куб 3х3х3 из… Чтобы в дальнейшем не возникали вопросы, типа как создать куб 3х3х3 из светодиодов для ардуино?

Куб из сверх ярких светодиодов 3х3х3

В обще проект я хотел делать не 3x3x3, а 4x4x4, причём RGB, но это в ближайшее время, а сейчас начнём…

В нашем распоряжении оказались только белые светодиоды, но зато много, поэтому Куб из белых, сверх ярких светодиодов 3х3х3 на Arduino UNO R3.

Делаем куб 3х3х3? — Для проекта нам потребуется:

Arduino. Куб 3x3x3. Всё что потребуется для проекта

Arduino UNO.
27 сверх ярких светодиода.
3 резистора 200 – 400 Ом.
Макетная плата 5х7 см.
Разъём «Гребёнка».
12 соединительных проводов – мама-папа.
Соединительные перемычки.

Для начала, разметим на листе в клетку наш куб, — между светодиодами — 1,5 см (3 клетки). Подкладываем под лист кусок картона, подойдет кусок от бумажной коробки из под любой оргтехники, и аккуратно намечаем, прокалывая на сквозь шариковой ручкой бумагу, чтобы на картоне остались метки. В интернет, на иностранных сайтах, используют брусок из дерева, и сверлом проделывают канавки., Зачем?, я посчитал это не нужным, и взял картонную коробку.

Подготовка для светодиодов Arduino 3x3x3

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

Схема соединения светодиодов для куба 3на3на3

Вставляем в отверстия светодиоды, и припаиваем выводы согласно схемы.  Таких слоёв необходимо спаять 3 штуки.  Затем сложить слои этажеркой, и спаять в вертикальные столбы плюсовые выводы светодиодов, в дальнейшем соединить с выводами разъёма в такой последовательности:

Разводка ножек светодиодов в столбцах

В общей сложности у вас, как и у меня должно получиться 9 вертикальных выводов, идущих к разъёму, и 3 слоя минусовых, которые тоже идут к разъёму 10, 11, 12 через резисторы 200 ом.

Два примера различных программ Arduino UNO, для работы светодиодного куба 3х3х3:

3 Скетча для куба из светодиодов, не требует дополнительных библиотек. Правильно подключить к Arduino! Колонки — к портам: 1 колонкак 2 порту, 2 колонка к 4порту, 3 колонка к 5порту…, 6,7,10,A5,A0,11. Слои — нижний к A4 порту, средний к A2порту, верхний к A1 порту. Скачать 3 Скетча (программы)
LedCube — библиотеку нужно положить в c:Program Files (x86)Arduinolibraries, после запустить c:Program Files (x86)ArduinolibrariesLedCubeexamplesledcubeledcube.ino . Не забудте правильно соединить  — колонки  к портам 2,3,4,5,6,7,8,9,10, — Слои к 11,12,13 порту. Скачать библиотеку LedCube

Куб из светодиодов 3х3х3. Вид с низу

Удачи!

2018-08-11T11:16:17+03:00Проекты Arduino|

Step 2 3D LED Hardware — Control Electronics for Columns

Control electronics for Columns To the interfacing pins on the arduino uno brain, we connect two PWM shields which are cascaded together in a long chain. Each of these PWM shields provides up to 32 pulse modulated outputs so these are the brightness controls for 64 columns in total (2 shields with 32 LED controls each). To light up a particular LED, we switch on that column and that layer at the same time to pinpoint an LED. Using this idea we can light up an entire column. The PWM shield is designed to sync current so to turn on an LED, the PWM shield expects to be connected to the negative or cathode connection of the LED. However because of the way this cube has been wired, this chip has to interface with the positive or anode connection of each LED. In order to do this, you need to assemble an interposing transistor board. Using PMP transistors and sizing the current reference resistor on each PWM shield appropriately to compensate for transistor gain, we can provide a current source rahter than sync to each column. The column will source or supply the current via the positive anode to the LED and the common cathode layer will be sunk to ground using MOSFET. Within each PWM shield, there are two TLC chips — arranged in a daisy chain serial communication fashion. There is a TLC chip library available from the arduino website which allows us to drive all this with minimal software coding. This library makes it easy for us to interface with this complex chip.

Step 4 3D LED Software

Software for the LED cube is written in C and compiled under the arduino development environment. The code is transferred to the arduino uno via a USB cable so this requires a USB to serial converter to program the AVR directly. The best way to think of the software is in two main parts:

  • the philosophy of displaying the image
  • the patterns and algorithms used to generate the image

Philosophy of Displaying the Image The display philosophy allows us to only light up one layer of LED lights at a time, so in order to view the entire cube of LEDs simultaniously, we rely on a phenomenon known as Persistance of Vision. This is so we can scan through all of the LEDs or layers of LEDs without necessarily having them all on at one time. If we can scan through them fast enough, (typically 20 — 25 cycles per second or 8 layers 25 times per second) then they will appear to all be on at the same time. In reality, because of the structure of the code, the cycle time will vary so the image or the current state of the image is represented by a 3 dimensional byte array. It is an array with the dimensions of 0 — 8 in all directions but realistically only 1 — 8 are used for the current state of display. The 0 address is used for manipulating row when we think about patterns and algorithms. Just focus on the 1 — 8 for each axis for now. This gives us 512 bytes of storage and each byte represents 0 — 255 grey scale value which then gets converted into a pulse with modulated representation of intensity. On each loop of the program there is a nested loop which scans through the 3 dimensional array and writes one layer at a time. There is a preprogram delay which can be adjusted if need be which determines how long each layer is on for. When you increase the speed of this scanning there are a couple of problems you can run into which is why we need to incorporate blanking on the d-multiplexer. By utilizing the d input for the d-multiplexer which exceeds the 3 — 8 specification, we can then blank all outputs of the d-multiplexer. This is what is connected to pin 7 of the arduino and is represented by the output value 128 because it is the most significant bit of a byte. As we scan the display faster, if we don’t blank, we will a trailing of light through the layers where we don’t actually want the light so the value of the previous layer will carry across onto the next one. We need to blank the layer control for a very short time while we write the new values to the columns, and then we can switch to the layer above and remove that ghosting affect. One thing we have to be careful of when adjusting or compiling this code is the configuration of the TLC library. You need to look in the comments section of the source code provided to check what settings need to be changed in the TLC configuration file. When addressing the TLC chips the available library provides an interfacing functionwhich allows us to talk to the channel on the TLC system. In the library configuration file we specify that there are 4 TLC chips because there are 16 outputs per TLC chip. This allows us to drive 64 channels or 64 outputs simultaneously so these are addressed as channel 0 — 63. As we do our nested loop and scan through for a layer we need to consecutively write each value to each channel so there is a great deal of nesting or nested looping. Each LED is represented by 0 — 255 or 1 byte greyscale value. This is passed directly into the TLC function.

Программа

Библиотека LedControl не встроена в Arduino IDE, поэтому её нужно найти и установить на свой компьютер. Для этого в поисковую строку записывают «Библиотека LedControl, ZIP архив скачать» и устанавливают её после скачивания из Arduino IDE (рис. 8). Её название должно появиться внизу выпадающего списка.

Далее рассмотрим основные моменты использования библиотеки и функции применительно к скетчу для светодиодного куба. Строка #include «LedControl.h» в начале скетча указывает на необходимость использования данной библиотеки.

Строка LedControl LC = LedControl(12, 11, 10, 2); создаёт в программе объект класса для двух индикаторов — куба и плоской матрицы. Аргументы в скобках задают номера выходов платы и соответственно порядок подключения входов модуля. Первый — DIN, второй — CLKC, третий — CS. Четвёртый аргумент указывает число используемых индикаторов (в нашем примере их два).

Затем следует команда LC.shutdown (0, false);, которая выключает индикатор под номером 0 (нумерация начинается с 0 и заканчивается цифрой 7) из режима экономии энергии. Команда LC.setlntensity(0, 12); устанавливает яркость свечения в 12 единиц (яркость условно разбита на 16 уровней с нумерацией от 0 до 15 по возрастанию).

Команда LC. clearDis-play(O); очищает экран, гасит все пиксели матрицы под номером 0. Так происходят начальные установки для куба. Аналогичные процедуры реализуются для второго индикатора под номером 1.

Далее в основной части цикла, например, внутри фрагмента //построчное включение всех светодиодов//, происходит постоянный перебор элементов массива значений и включение соответствующих точек матрицы. Два счётчика j и і обеспечивают смену переключения по схеме «цикл в цикле».

Команда LC.setLed (О, i, j, 1); включает светодиод столбца под номером j и строки под номером і, индикатора под номером 0 (нумерация строк и столбцов также идёт от 0 до 7).

Аналогично команда LC.set Led(1, i, j, 1); включает светодиоды индикатора под номером 1. Такое состояние сохраняется в течение 100 мс (команда delay(100);), затем происходит переход к следующему светодиоду.

Рис. 8. Arduino IDE.

Внутри фрагмента //мигание светодиодами всего куба в пятикратно повторяемом цикле выполняется команда LC.shutdown-(0, true); LC.shutdown (1, true); delay(300); LC.shutdown(0, fa!se);LC.shutdown(1, false); delay(300);. Она интерпретируется так: включить экономичный режим индикаторов, сделать паузу, выключить экономичный режим, сделать паузу. В таком режиме все светодиоды куба будут мигать.

Вся программа переключений построена на использовании трёх основных функций: LC.setLed(); LC.shut-down(); LC.clearDisplay(); Это — включение/выключение заданного светодиода, включение/выключение индикатора с сохранением данных и очистка экрана с выключением всех светодиодов с потерей данных по их предыдущему состоянию.

После макетирования и программирования приступают к сборке устройства. В пластмассовом контейнере подходящих размеров (см. рис. 2) размещают платы Arduino и модуля МАХ7219.

В крышке, вдоль стоек, прорезают щели и пропускают в них соединительные провода к контактным разъёмам рядов и столбцов куба. Сверху щели закрывают пластмассовыми сьёмными пластинами с крепёжными прорезями под стойки.

Сам куб приклеивают к поверхности крышки через пластмассовые брусочки-переходники размерами 5x5x10 мм, приклеенные к основаниям четырёх крайних стоек. В боковой поверхности контейнера сверлят отверстие для кабеля источника питания.

Скачать программу для Ардуино — LED-kub-4x4x4-arduino-program

Д. Мамичев, п. Шаталово Смоленской обл. Р-11-17.

Step 5 3D LED Software — Patterning

Patterns and algorithms are used to generate changes in the LED display. Upon each loop of the program we write consecutively 8 different layers. We can then perform mathematical manipulations on the array which contains image data. It can be done several ways:

  • use an algorithm — like a nested loop which may generate some kind of repetitious pattern
  • store a static image or a series of images or frames that will eventually make a movie by storing the states of the LEDs or brightnesses as a three dimensional array in flash because this is the non-volatile memory. We can store pixel by pixel data rather than having to generate it from an algorithm.

The code provided cycles through a number of patterns:

  1. Test Pattern — vary brightness of all LEDs using a sine function lookup table. You will get a nice smooth sinusoidal adjustment of the brightness. Therefore, we can determine if there are any faults or LEDs misbehaving in the first few seconds.Also it allows us to see if the program is functioning smoothly.
  2. Preset Pattern — initialized in 3 dimensional space using a bunch of formulas that sit in flash memory. This initializes with a bunch of objects and then there are a whole pile of transformation functionsincluded. On the first pattern these simply shift the image space or the mathematical image space down. When you do a transformation, you shift one row or one layer into the 0 address which is the temporary holding address. We can then shuffle all the values without losing any information. For example, we can take information off the top, shift the whole display up and take the information from the top and place it on the bottom. We can have a repeating pattern that feeds back into itself si it appears as if it is continuously moving up (or down or left or right).
  3. Randomized Transformation — we use that same space in the next pattern and shift to a randomized transformation. We randomly assign a transformation or a combination of transformations which gives the appearence of a space randomly moving or vibrating about.
  4. Randomized Rain Pattern — shows a downward transformation recurring but as this is happening, we randomly make changes to the space so it doesn’t seem to be looping over itself and its constantly evolving.
  5. Greyscale Representation of a Sinusoid — we use the sine function lookup table to determine the brightness of each particular LED based on a constantly changing angle. This angle is fed into the sine function and on each iteration of the loop, the angle is increased till you get a constantly varying sine function using intensity.
  6. Sine Function — instead of using brightness, it notes the nearest LED to that value. Think of a sine wave superimposed onto the side of the cube and round to the nearest LED but as this moves quite fast, it gives the appearance of a nice sine wave. We also incorporated a bivariate function which is constantly morphing as the program loops through and allows us to change the direction of this particular sine wave.
  7. Motion of a Particle or Ball — it is like a simple physica engine which simulates the motion of a particle or ball exposed to acceleration due to gravity and drag — it eventually slows. It is also exposed to interference rules on all sides of the cube apart from the roof so this allows the particle to shoot out of the space and re-enter, confined by the walls and the floor. This has a trailing decaying tail behind it which allows you to see the trajectory a lot better.

When the particle come to a stop, it’s reinitialized with a new set of randomized cartesian co-ordinates and velocity vectors, and the program starts all over again.

Step 7 The Controller

The circuits controlling the led cube is described in the attached schematic image.
The RS-232 interface is optional. and can be omitted. That is IC2 and all the components connected to it. Future firmwares will enable PC communication..
Start by laying out all the components on you circuit board in a layout that enable all the components to connect with a minimal amount of wires. If everything fits, solder the circuit.
I won’t give any more instructions on this, as the circuit probably will look very different from cube to cube, depending on the size of the circuit board etc..
Information on how to wire the cube to the controller circuit is in the next step.

Step 1 3D LED Cube Hardware

The best way to look at the hardware system is to break it up into subsystems:

  • The LED Matrix
  • Control electronics for Columns
  • Control electronics for Layers

The LED Matrix By addressing the appropriate layer and column in the LED matrix, it is possible to switch a particular LED on or off or vary its intensity. For each of these sets of controls, we have an interface to the brain which is an arduino uno running an Atmel AVR microcontroller. The arduino uno is programmed via a USB port from a PC. The arduino uno brain (or AVR brain) contains standard interfacing pins which allow connection to the outside world and external devices.

Хитрости

  • Ледяной куб лучше надевать лишь тогда, когда становится слишком жарко. В остальное время лучше носить, например, соломенную шляпу.
  • Куб тает в инвентаре и на голове одинаково быстро. Когда куб лежит в инвентаре, вы не теряете скорость.
  • Поместите куб в холодильник, чтобы полностью остановить таяние.
  • Играя за WX-78, не стоит отходить далеко от базы, иначе придется очень часто разжигать походный костёр, чтобы высохнуть, либо постоянно получать урон от влажности.
  • Если стоять одновременно с обычным кострищем и эндотермическим, то влажность и температура будут уменьшаться.
  • Куб очень полезен для Максвелла, так как из-за большой влажности у него не будет сильно падать рассудок.

Step 1 What You Need

First of all, you need quite a bit of time to solder together 64 leds ;)Knowledge list:

  • Basic electronics and soldering skills
  • Know how to program an AVR microcontroller — I will not cover that in this instructable.

Component list:

  • Protoboard. The type with copper circles.
  • Atmel AVR Atmega16 microcontroller
  • Programmer to program the Atmega16
  • 64 Leds
  • 2 status leds. I used red and green. (optional)
  • Max232 rs-232 chip, or equivalent.
  • 16 resistors for leds. (100-400ohms) will get back to this.
  • 2x resistor 470 ohm. for status leds
  • 1x resistor 10k
  • 4x resistor 2.2k
  • 4x NPN transistor BC338 (or other transistor capable of switching 250-ish mA)
  • 1x 10uF capacitor
  • 1x 1000uF capacitor
  • 6x 0.1uF ceramic capacitor
  • 2x 22pF ceramic capacitor
  • 1x crystal 14.7456 MHz
  • 2x tactile button
  • optional pwr switch
  • connector for 12v power
  • optional connector for 5v power

Step 3 Making the Cube, Template

Soldering grids of 4×4 LEDs freehand would look terrible!To get 4 perfect 4×4 grids of LEDs, we use a template to hold the them in place.I wanted to make the cube as easy as possible to make, so I chose to use the LEDs own legs as much as possible. The distance between the lines in the grid was decided by the length of the LED legs. I found that 25mm (about an inch) was the optimal distance between each led (between the center of each led that is!) to enable soldering without adding or cutting wire.

  • Find a piece of wood large enough to make a 4×4 grid of 2,5cm on.
  • Draw up a 4×4 grid of lines.
  • Make dents in all the intersects with a center punch.
  • Find a drill bit that makes holes small enough so that the led will stay firmly in place, and big enough so that the led can easily be pulled out (without bending the wires..).
  • Drill the 16 holes.
  • Your ledcube template is done.

Add a Comment

Ваш e-mail не будет опубликован.

Яндекс.Метрика