Светодиодный куб 3х3х3 не программируемый

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

В данной статье я пошагово расскажу об изготовлении 3D LED куба, с размерностью 3х3х3. Управление LED осуществляется при помощи контроллера Arduino.

Отличительной особенностью данного проекта от других является:

+ Небольшое число дополнительных компонентов, подключается напрямую к Arduino без использования различных мультиплексоров и т.п.

+ Простая для повторения принципиальная схема с множеством фотографий и разьяснений.

+ Использование универсальной библиотеки, что значительно упрощает написание программы.

Итак, нам понадобится:

  • макетная плата
  • 3 NPN транзистора (2N2222, 2N3904, BC547 и т.п.)
  • 12 резисторов (

220 Ом и 22 кОм)

  • 13 коннекторов (папа или мама)
  • 27 светодиодов (LED)
  • соединительные провода

  • А сначала, немного видео работы устройства:

    Итак, посмотрели видео? Ну а теперь поехали!

    Шаг 1. Подготовка LED

    Этот шаг практически ни чем не отличается от предыдущего проекта светодиодного куба 4x4x4, за исключением соответственно размерностью. Куб 4х4х4 более сложен, т.к. требует введения в схему дополнительный элементов. У нас же куб будет с 3 уровнями, по 9 LED в каждом.

    В каждом наборе из 9-ти LED, все катоды соединены между собой, т.е. подключены по схеме с общим катодом (минус). Далее, наборы мы будем называть “уровнями”. Каждый LED соединен анодом с LED другого уровня (нижестоящими или вышестоящими). Далее, по тексту я буду называть это колоннами, т.е. в одной колонне соединено 3 светодиода анодами, а на одном уровне соединено 9 LED катодами.

    Как видно на фото выше, для изготовления куба я использовал старый шаблон от проекта 4х4х4 светодиодного куба. Отверстия в дереве просверлены под головку светодиода, расстояние между отверстиями составляет приблизительно 15мм.

    После того, как приспособа сделана, пора приступить к формовке выводов LED. Катоды всех светодиодов необходимо аккуратно согнуть на 90 градусов. Направление изгиба вывода должно быть одинаковым у всех LED. Как определить где катод, а где анод у светодиода читайте здесь или здесь.

    Шаг 2. Сборка куба

    Разместите первые девять светодиодов в деревянном приспособлении. С позиционируйте направление изогнутых ножек в одном направлении, скажем по часовой стрелке (или против часовой, это не принципиально).

    При помощи “крокодилов” зафиксируйте ножки LED и спаяйте их вместе. В самом конце припаяйте центральный LED. После того, как один уровень закончен, можно проверить правильность подключений LED при помощи батарейки или мультиметра. Т.к. потом, что-либо отпаять будет очень сложно, особенно если это центральный LED.

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

    Куб готов. Теперь можно разместить его на макетной плате.

    Шаг 3. Схемотехника

    Схема устройства простая. Каждая из девяти колонн подключена к выводам Arduino через токоограничительные резисторы. А все 3 уровня подключены к общему выводу через NPN -транзисторы, которые, в свою очередь подключаются к Arduino.

    Т.о. используется только 12 выводов Arduino. В один момент времени будет загораться LED только одного уровня, но за счет быстрого переключения между уровнями, будет казаться, что одновременно горят все уровни (в зависимости от программы).

    Первым делом необходимо припаять 9 резисторов. Я использовал резисторы сопротивлением 220 Ом, которые ограничивают ток на уровне 22 мА. Номинал резисторов зависит от типа применяемых светодиодов, и варьируется от 135 до 470 Ом. Более точный расчет резистора для светодиода можно произвести здесь: LED калькулятор. Каждый вывод Arduino способен выдать до 40 мА.

    Резисторы на плате, я припаял вертикально. После, я наклеил слой изоленты, чтобы не коротнуло с перемычками.

    Следующим этапом будет монтаж радиоэлементов для управления уровнями. Здесь используется три NPN-транзистора. Базы транзисторов, через резистор 22 кОм подсоединяются к выводам Arduino. Т.о. контроллер открывает транзистор и весь уровень LED соединяется с “общим”.

    В интернете я нашел несколько примеров управления подобными LED кубами. Но во всех них требовался огромный начальный массив bin или hex данных. Я все решил написать свою программу управления.

    Первой задачей было сделать доступное для понимания соответствие программы и железа. Я принял решение обращаться к уровням и колоннам, вместо использования RAW-данных порта или традиционных x, y, z. Второй задачей было сделать базовые функции куба, такие как включение/отключение отдельного светодиода и др.

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

    Всю эту функциональность я сделал в виде классов и сделал библиотеку Arduino, которую можно использовать для других проектов и даже с другой размерностью куба.

    Прикрепленные файлы: LedCube.zip (8 Кб)

    C этой схемой также часто просматривают:

    Светодиодный индикатор в выключателе
    Светодиодный индикатор в пульте дистанционного управления
    Светодиодный индикатор напряжения
    Светодиодный индикатор отклонения уровня напряжения
    Светодиодный маячок
    Светодиодный куб 4х4х4 на Arduino
    Светодиодный куб 5х5х5 на Arduino
    Адаптер для питания ноутбука в автомобиле
    Радиолюбительский частотомер

    –>

    Главные категории

    Arduino

    Аудио

    В Вашу мастерскую

    Видео

    Для автомобиля

    Для дома и быта

    Для начинающих

    Зарядные устройства

    Измерительные приборы

    Источники питания

    Компьютер

    Медицина и здоровье

    Микроконтроллеры

    Музыкантам

    Опасные, но интересные конструкции

    Охранные устройства

    Программаторы

    Радио и связь

    Радиоуправление моделями

    Световые эффекты

    Связь по проводам и не только.

    Телевидение

    Телефония

    Узлы цифровой электроники

    Фототехника

    Шпионская техника

    Реклама на KAZUS.RU

    Последние поступления

    Графический семиполосный эквалайзер-радуга на Arduino Nano и MSGEQ7

    СВЕТОДИОДНЫЙ КУБ

    Что такое светодиодный куб? Это — куб, по всему объему которого расположены светодиоды. И каждый светодиод (можно цветной) – управляется отдельно. С помощью светодиодного куба можно создавать различные световые шоу и анимацию. Светодиодный куб может отображать различную световую анимацию, которая уже запрограммирована в нем. Сложные схемы 3Д светодиодных кубов даже могут отображать различные объемные слова и надписи. Проще говоря светодиодный куб по своей сути является объёмным монитором, только с низким разрешением, который позволяет отображать пространственные структуры и графику. Конечно, это решение не подходит для просмотра видео, но может быть хорошо использовано для оформления шоу и презентаций, для развлечений и выставок, рекламы и дизайна. Думаю, многим хотелось собрать такой LED кубик, но не у всех была возможность приобрести микроконтроллер, и конечно не все умеют программировать. Поэтому вот очень простая схемотехническая альтернатива:

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

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

    Светодиодный куб 3х3х3 не программируемый

    Искатель проводки

    Доброй ночи решил повторить схему искателя проводки есть проблема микроконтроллера PIC12F629 не нашел есть 12f675 помогите переделать прошивку если

    ISIS Proteus 7.7 SP2 + Crack v1.0.2 + RUS

    Спасибо за совет ! Действительно на Виндовс 7 нужно запустить совместимость с XP Service Pack 2 и всё пойдет на УРА !

    Регулятор напряжения

    КТ815 работает адекватно с напряжением в 5 вольт. http://www.joyta.ru/uploads/2017/03/tranzistor-kt819-xarakteristiki-cokolevka-analog-2.gif

    Регулятор напряжения

    собрал схему но регулировка от 0 до 6 вольт. все детали новые

    Часы на одном индикаторе

    Простая мигалка

    Собирал по похожей схеме, но или мне показалось или крона быстро сдохла. Я рассчитывал на пугалку которая бы проработала неделю хотя бы, а

    ISIS Proteus 7.7 SP2 + Crack v1.0.2 + RUS

    Аваст сожрал кряк LXK_Proteus_7.7_SP2_v1.0.2.rar как вирус

    Конспект хакера “Амперка”

    Да я согласен был купить Конспект хакера за 190 рублей на офсайте(Амперка), но доставка 590 рублей. Я в Китай за 230 отправил на днях письмо с

    Очень простые часы на PIC-контроллере

    ссылка на прошивку не работает пожалуйста возобновите ссылку

    LED куб 4х4х4 на Arduino

    “Аноды(+) всех светодиодов каждого столбца соединены вместе. Слои состоят из соединённых катодов светодиодов.” =================== На деле у Вас

    Реклама

    Поиск по тегам

    Светодиодный куб (3*3)

    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.

    Светодиодный куб может отображать различную световую анимацию, которая уже запрограммирована в нем. Сложные схемы 3Д светодиодных кубов даже могут отображать различные объемные слова и надписи. Проще говоря светодиодный куб по своей сути является объёмным монитором, только с низким разрешением, который позволяет отображать пространственные структуры и графику. Конечно, это решение не подходит для просмотра видео, но может быть хорошо использовано для оформления шоу и презентаций, для развлечений и выставок, рекламы и дизайна. Думаю, многим хотелось собрать такой LED кубик, но не у всех была возможность приобрести микроконтроллер, и конечно не все умеют программировать. Поэтому вот очень простая схемотехническая альтернатива:

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

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

    ARDUINO LED CUBE 8x8x8

    30.10.18 CUBE_Gyver_v2: добавлена новая версия для нового видео

    • Большой светодиодный куб на Arduino и сдвиговых регистрах. 512 светодиодов, 10 режимов анимации (можете дописать свои!).
    • Куб имеет две кнопки, обеспечивающие переключение режимов вперёд/назад, удержание кнопки увеличивает и уменьшает скорость текущей анимации.
    • Проект собран на печатной плате, что позволило уменьшить трудозатраты на соединение компонентов, а также уместить всё в компактный корпус!
    • Куб использует динамическую индикацию (послойная отрисовка) и потребляет всего около 0.5 А, когда светятся все 512 светодиодов.
    • Долгий и интересный процесс пайки самого куба показан на видео ниже. Использованы длинноногие светодиоды, куб спаян только их ногами. Края соединены и усилены железной проволокой (10 линий).
    • Добавлены игры: 3D змейка и туннель

    ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ

    СХЕМЫ, ПЕЧАТНЫЕ ПЛАТЫ

    Схема 1

    Джойстик и кнопка

    МАТЕРИАЛЫ И КОМПОНЕНТЫ

    Ссылки на магазины, с которых я закупаюсь уже не один год

    Вам скорее всего пригодится:

    • Arduino NANO 328p – искать
      • https://ali.ski/tI7blh
      • https://ali.ski/O4yTxb
      • https://ali.ski/6_rFIS
      • https://ali.ski/gb92E-
      • Giant4 (Россия)
    • Светодиоды с длинными ногами 100 штук
      • Синие https://ali.ski/EwPQQK
      • Розовые https://ali.ski/UKge78
      • Красные https://ali.ski/rseXA
      • Зелёные https://ali.ski/suEgC
      • Жёлтые https://ali.ski/1UQZP
    • Светодиоды по 10 штук
      • Синие https://ali.ski/4J3IEE
      • Розовые https://ali.ski/WHmG7
      • Красные https://ali.ski/bWAD1r
      • Жёлтые https://ali.ski/NfCbf
      • Зелёные https://ali.ski/ZmnvJ
    • Сдвиговые регистры 74hc595n https://ali.ski/DnwaZ
    • Транзисторы bd241c https://ali.ski/H9eCm
    • Резисторы https://ali.ski/cgfwE
    • Транзисторы TIP41C (на всякий случай) https://ali.ski/I9hH_
    • Макетка 8 на 12 см https://ali.ski/e8SNm
    • Гребёнка https://ali.ski/4ujVt
    • Кнопки и стойки ищите в любых магазинах для радиолюбителей, так как у китайцев можно купить только мешок 100 штук!

    ПРОШИВКА И НАСТРОЙКА

    Содержимое папок в архиве

    • libraries – библиотеки проекта. Заменить имеющиеся версии
    • CUBE_Gyver – прошивка для Arduino, файл в папке открыть в Arduino IDE (инструкция)
    • schemes – схемы и печатки

    Установить библиотеки (папка Libraries) в
    C:Program Files (x86)Arduinolibraries (Windows x64)
    C:Program FilesArduinolibraries (Windows x86)

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

    Данный пост делался для людей которые плохо разбираются в электронике и потому я попытался все расписать максимально подробно и понятно.

    А теперь начнем.

    1) Для начала соберем все необходимые элементы:

    а) Нам понадобятся светодиоды, вы можете выбрать любой яркости и любого цвета какой захотите, лично я выбрал светодиоды синие круглые 5 мм, стоимость одного светодиода обошлась для меня в 5 рублей. Всего нам понадобятся 64 светодиода, я взял 70, т.к. бывает, что некоторые светодиоды могут быть бракованными или в процессе эксплуатации или проверки банально сгореть, поэтому запасные будут не лишними.

    б) Резисторы на 680 Ом. Всего нам нужно 4 штуки.
    в) Если светодиоды — это будет наше тело, то Arduino это наш мозг, а без мозга тело не работает. А именно нам нужен микроконтроллер Arduino Nano 3.0. Платить почти тысячу рублей мне как то не хотелось, поэтому я заказал на AliExpress всего за 150 рублей.
    г) Конечно же питание и тумблер. В качестве питания нам понадобится батарейка типа Крон на 12 Вольт. А клемму, которую можно увидеть слева от батарейки на фотографии, я в процессе заменил на отсек для кроны, отсек для кроны стоит 50 рублей.

    д) В качестве кнопки вкл/выкл я использовал тумблер, который стоит около 20 рублей, только выбирайте тумблер или обычные кнопки (например, такие какие у вас стоят на сетевом фильтре) так чтобы его рабочее напряжение не превышало напряжение батарейки, то есть 12 Вольт.

    е) Ну и конечно же нам понадобятся провода, для куба я приобрел монтажный провод с сечением 0.14 кв.мм, лично мне хватило 3 метра и даже большой кусок еще остался. Метр такого провода стоит 10 рублей.

    ж) Корпус. Корпус необходимо выбирать исходя из размеров куба и проводов которые будут торчать снизу куба. В качестве корпуса я взял пластмассовую баночку, по диаметру она идеально подошла к кубу, а высота баночки 8 см.Необязательно искать готовый корпус, корпус при желании можно сделать и самому.

    2) Когда вы собрали всё необходимое, можно приступать к сбору. Начнем собирать куб по слоям.

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

    б) Чтобы спаять слои одинаковыми, нужно светодиоды закрепить. Можно взять дощечку и сделать в ней 16 отверстий, я же использовал пеноплекс. Расстояние между светодиодами должно быть чуть меньше самой длинной его ножки, чтобы можно было их соединить.

    в) Итак, нам необходимо спаять 4 слоя светодиодов по 16 в каждом, а затем все 4 слоя спаять в один объёмный куб. Ставим первые 16 светодиодов в проделанные отверстия и отгибаем наши плюса так, чтобы все светодиоды соединились, как показано на фото ниже. На всех слоях ваши минуса(ножки торчащие вверх) должны находится на все слоях в одинаковом положении, чтобы их можно было слои соединить между собой. Важно: по краю в двух местах у вас не получится соединить(на фото эти места около двух черточек), т.к. ножек светодиодов не хватает, поэтому если у вас есть лишние светодиоды, то можете оторвать у них ножки и припаять в эти места.

    В результате должны получить вот такую картину. И таких слоев мы должны сделать еще три, всего должно получится 4.

    г) Я повторюсь, что очень важно. чтобы ножки торчащие вверх(минуса), на всех слоях находились в одинаковых местах, чтобы можно было легче соединить их в процессе объединения. Если у вас возникает такая проблема что вы не можете соединить минуса слоев, то просто отогните ножки, как показано на рисунке.

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

    д) Когда все 4 слоя будут собраны, мы их должны объединить в один. Все что нам тут нужно это соединить минуса которые мы специально отогнули в пункте 2.г.

    3) Примемся за наши мозги. Нам нужно записать алгоритм работы нашего куба в контроллер, с помощью программы Arduino, найти и скачать ее вы можете без проблем в интернете. Если вы программист то думаю вы сможете сами придумать алгоритм работы вашего куба, ну а для тех кто не знает как программировать, для вас я выложу готовый скетч, все что вам понадобится это открыть его и делать все как на скриншотах:

    а) Подсоединяете Arduino Nano через микро USB к компьютеру.

    б) Открываете скачанный скетч и у вас должна запуститься программа Ардуино. Затем выбираете вкладку инструменты-плата-Arduino Nano.

    в) Затем там же инструменты-процессор-ATmega 328.

    г) И выбираете порт, у меня это был СОМ4, у вас может быть другой, но не 1-ый!

    д) И финальный штрих, скетч-загрузка. После завершения загрузки можете смело вынимать Arduino Nano из USB.

    4) В качестве корпуса я выбрал круглую пластмассовую баночку, но вы можете взять что угодно, главное проделать отверстия для ножек и сделать небольшое окошко для 4-х проводов, провода будут крепиться с боку с края каждого слоя, 1 провод на один слой.

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

    б) Теперь нам необходимо соединить плюса, для этого используем 4 резистора. Ранее я говорил что в корпусе необходимо сделать окошко для проводов, вот через это окно у нас будут соединены слои как показано на рисунке.

    Если смотреть по оси Y, то слой 4(верхний) должен присоединиться к контакту А0, 3 к А1 , 2 к А2, 1 к А3.

    в) Теперь осталось припаять питание. Плюс батарейки нужно припаять к контакту UIN, а минус к GND. Эти контакты должны находиться на той же стороне что и контакты А0-А7. Тумблер же я припаял между UIN и плюсом батарейки.

    г) Установите все в корпус.

    5) Запускайте и наслаждайтесь.

    Спасибо, что дочитали до конца. Надеюсь, что мой пост окажется полезным для вас.

    LED-куб + змейка

    Предисловие

    В данной статье мы (т.к. статью писали и делали проект 2 человека) расскажем вам, как мы вдохнули жизнь в старую, позабытую всеми игру.

    Подготовка

    Создание собственного LED куба

    Обсудив некоторые моменты, было решено делать куб размером 8х8х8. Нам удалось купить оптом 1000 светодиодов по хорошей цене, как раз то что нужно, правда это были не совсем подходящие светодиоды. Визуально лучше бы смотрелись светодиоды синего цвета с матовой линзой, свечение получается не такое яркое и более равномерное. Есть еще одна проблема прозрачных светодиодов, нижний слой подсвечивает верхние. Однако, несмотря на все это, светодиоды должны быть достаточно яркими, чтобы изображение получилась четкой. Для больше прозрачности куба лучше взять маленькие светодиоды, например, 3 мм. Еще один пункт при выборе светодиодов — длинна ног. Каркас куба будем делать из ног светодиодов, поэтому они не должны быть меньше, чем размер клетки.

    Еще один важный пункт при построении куба – это его размер. Мы делаем каркас с помощью ног светодиода, хотя есть способы, где используются металлические стержни или проволока. Длинна катодов наших светодиодов оказалась примерно 25 мм, поэтому размер клетки мы выбрали 20 мм, а остальное использовать для пайки, решили, что так куб будет прочнее. Это как раз небольшое отличие от конструкции автора статьи, приведенной выше.

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

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

    Прежде чем начать паять куб советую все подготовить. Из личного опыта могу сказать, что гораздо удобнее это делать вдвоем, т.к. рук реально не хватает, один человек прикладывает катоды, а второй подает припой и паяет. Делать это нужно быстро, светодиоды маленькие и боятся перегрева. Также в разных мануалах говорят проверить каждый светодиод перед пайкой. Я не вижу в этом смысла, потратите много времени на по сути бессмысленную операцию. Мы покупали новые светодиоды и все они оказались рабочими. А вот когда вы спаяли слой, там уже стоит хорошо все проверить потому, что выпаивать светодиод из центра неприятное занятие, проверено на личном опыте.

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

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

    Спаяв все светодиоды, мы получим 8 полосок по 8 светодиодов. Чтобы это все превратить в один слой, мы использовали обычную алюминиевую проволоку, которую предварительно выпрямили. Решили использовать всего 2 таких «стержня», чтобы не усложнять конструкцию, к слову она и так получилась достаточно прочной.

    Спаяв последний слой не нужно его доставать потому, что потом придется вставлять его обратно. Теперь имея все 8 слоев нам нужно их как-то объединить в один куб. Чтобы куб был более-менее ровным на пришлось отогнуть аноды как показано на рисунке, теперь он огибает светодиод, и может быть аккуратно припаян.

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

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

    Разработка схемы

    Для воплощения нашей задумки нам нужен был какой-то микроконтроллер. Мы решили остановиться на микроконтроллере Arduino Leonardo. Мы не хотели заморачиваться насчет программаторов и нужного ПО, так же нам не нужен мощный процессор для наших задач. Имея готовое устройство, мы поняли, что можно было использовать и Nano, но это не столь критично. Для управления кубом мы решили использовать телефон, подключенный к Arduino по Bluetooth, в нашем случае используется HC-05, но вы можете использовать любой другой.

    А вот что действительно важно так это количество выводов микроконтроллера, т. к. мы получили 64 анодных и 8 катодных вывода, но о их подключении позже. Мы решили расширить порты IO с помощью сдвиговых регистров, в нашем случае это регистры фирмы TI 74HC595 в DIP корпусе, чтобы припаять сокеты к плате, а уже в них вставлять сами микросхемы. Подробнее об этих регистрах вы можете почитать в datasheet, скажу лишь что нами использовалось все кроме сигнала сброса регистра, мы подали на него единицу, т. к. он инверсный, и вход output enable мы завели на землю, он тоже инверсный и мы хотели всегда получать данные с регистров. Также можно было использовать и последовательные регистры, но тогда пришлось бы поставить дешифратор для выбора в какой именно регистр записывать информацию.

    Для того, чтобы замыкать цепь на землю, выбирая уровень, который хотим зажечь, нам нужны транзисторные ключи, ну или просто транзисторы. Мы использовали обычные маломощные биполярные транзисторы N-P-N типа, соединенные по 2 параллельно. Не уверен, что в этом есть смысл, но так вроде как ток протекает лучше. База через подтягивающий резистор номиналом 100 Ом заведена на микроконтроллер, который и будет открывать наши транзисторы. На коллектор заведены слои куба, а эмиттеры соединены с землей.

    Сборка куба воедино

    Для питания куба не смогли найти ничего лучше, чем блок питания от планшета, параметры которого 5 В и 2 А. Может этого и мало, но куб светится достаточно ярко. Чтобы не сжечь светодиоды все анодные выводы соединены с регистрами через токоограничивающий резистор. По моим расчетам они должны были быть примерно по 40 Ом, но у меня таких не оказалось, поэтому использовал по 100 ОМ.

    Разместили мы все это на 2 небольших печатных платах. Специально травить ничего не стали ввиду отсутствия практики, просто соединили все обычными проводниками. Регистры с анодами куба соединили с помощью шлейфов, которые мы достали из старого компьютера. Так проще ориентироваться в проводах.

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

    Отладив все и исправив сделанные ошибки, мы сделали корпус из имеющегося у нас ламината, он оказался хорош тем, что его не пришлось красить. Вот конечный результат:

    Да будет свет!

    Куб есть, осталось заставить его светиться. Далее будут описаны различные моды (режимы) работы куба, для переключения которых использовался bluetooth + Android. Приложение для телефона писалось с использованием Cordova. Код приложения здесь описываться не будет, но ссылка на репозиторий представлена в заключении.

    Алгоритм работы с кубом

    Ввиду того, что мы не имеем доступ сразу ко всем светодиодам, мы не можем их зажечь все сразу. Вместо этого, нам надо зажигать их послойно.

    Алгоритм таков:
    1. Текущий слой равен 0.
    2. Заносим в регистры маску для текущего слоя
    3. Закрываем транзистор для предыдущего слоя. Если текущий слой нулевой — то предыдущий для него — 7й слой
    4. Защелкиваем значения в регистры. Значение появляются на выходах регистров
    5. Открываем транзистор для текущего слоя. Ура, один слой светится!
    6. Текущий слой ++. goto: 2

    Итого, данный алгоритм повторяется довольно быстро, что и даёт нам иллюзию того, что все светодиоды светятся одновременно (но мы то знаем что это не так). Маски хранятся в массиве 64х8 байт.

    Написание модов

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

    “Залипательный” мод

    Идея: горят всего два слоя нулевой и седьмой, причём они являются инверсными по отношению друг к другу (светодиод в позиции Х горит только на одном из слоёв). Рандомно выбирается позиция (почему-то все пытаются найти алгоритм выбора позиции), и светодиод в данной позиции “переползает” на верхний слой, если он светился на нижнем слое, и соответственно на нижний, если светился на верхнем.

    Как это выглядит в жизни:

    “Ещё один залипательный мод”

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

    Куб внутри куба

    Идея: зажигать внутри куба светодиоды ввиде граней куба размерами от 1 до 8 светодиодов и обратно.

    Как это выглядит:

    И наконец змейка

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

    В случае двумерной реализации данной игры никаких вопросов с управлением не возникает: четыре кнопки и всё очевидно. В случае трёхмерной реализации возникает несколько вариантов управления:

    1. 6 кнопок. При таком варианте кнопке соответствует свое направление движения: для кнопок вверх и вниз всё очевидно, а остальные кнопки можно “привязать” к сторонам света, при нажатии кнопки “влево” вектор движения всегда меняется “на запад” и т.д. При таком варианте возникают ситуации, когда змейка движется “на восток” и и мы нажимает “на запад”. Т.к. змейка не может развернуться на 180 градусов, приходится такие случаи обрабатывать отдельно.

    2. 4 кнопки (Up Down Left Right). Действия данных кнопок аналогичны действиям в двумерной реализации, за исключением того, что все изменения берутся относительно текущего направления вектора движения. Поясню на примере: при движении в горизонтальной плоскости, нажимая кнопку “Up”, мы переходим в вертикальную плоскость. При движении в вертикальной плоскости нажимая “Up”, мы переходим к движению в горизонтальной плоскости против направления оси Х, для “Down” — по направлению оси Х и т.д.

    Безусловно, оба варианта имеют право на существование (было бы интересно узнать другие варианты управления). Для нашего проекта мы выбрали второй.

    Результат работы программы:

    Ссылки на исходный код прошивки куба и приложение для телефона:

    Читайте также:  Модификация карманного фонарика (с аккумуляторов ААА на аккумулятор 18650)
    Ссылка на основную публикацию