3x3x3 LED куб
В данной статье я пошагово расскажу об изготовлении 3D LED куба, с размерностью 3х3х3. Управление LED осуществляется при помощи контроллера Arduino.
Отличительной особенностью данного проекта от других является:
1. Небольшое число дополнительных компонентов, подключается напрямую к Arduino без использования различных мультиплексоров и т.п.
2. Простая для повторения принципиальная схема с множеством фотографий и разьяснений.
3. Использование универсальной библиотеки, что значительно упрощает написание программы.
Итак, нам понадобится:
— макетная плата
— 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 соединяется с «общим».
Шаг 4. Софт
В интернете я нашел несколько примеров управления подобными LED кубами. Но во всех них требовался огромный начальный массив bin или hex данных. Я все решил написать свою программу управления.
Первой задачей было сделать доступное для понимания соответствие программы и железа. Я принял решение обращаться к уровням и колоннам, вместо использования RAW-данных порта или традиционных x, y, z. Второй задачей было сделать базовые функции куба, такие как включение/отключение отдельного светодиода и др.
Также, я решил ввести две дополнительные возможности для реализации различных эффектов. Первая это буфер, который позволяет реализовывать основные функции для реализации сложных шаблонов, и вторая — это функция последовательности.
Всю эту функциональность я сделал в виде классов и сделал библиотеку Arduino, которую можно использовать для других проектов и даже с другой размерностью куба.
Оригинал статьи
Теги:
- Arduino
- Светодиод
- Перевод
Сборка домашнего 3D-принтера своими руками: рекомендации из личного опыта
3D-печать и сборка 3D-принтеров — мое хобби и увлечение. Здесь я не буду делиться детальными схемами и чертежами, их более чем достаточно на профильных ресурсах. Главная цель этого материала — рассказать, с чего начать, куда копать и как избежать ошибок в процессе сборки домашнего 3D-принтера.
Зачем нужен 3D-принтер? Сценарии использования
Впервые с идеей 3D-печати я столкнулся в далеких 90-х, когда смотрел сериал Star Trek. Помню, как меня впечатлил момент, когда герои культового сериала печатали необходимые им во время путешествия вещи прямо на борту своего звездолета. Печатали они все что угодно: от обуви до инструментов. Я думал, что было бы здорово когда-нибудь тоже иметь такую штуку. Тогда это все казалось чем-то невероятным. За окном — хмурые 90-е, а «нокиа» с монохромным экраном была вершиной прогресса, доступной лишь избранным.
Годы шли, все менялось. Примерно с 2010 в продаже начали появляться первые рабочие модели 3D-принтеров. Вчерашняя фантастика стала реальностью. Однако стоимость таких решений, мягко говоря, обескураживала. Но IT-индустрия не была бы собой без любознательного комьюнити, где происходит активный обмен знаниями и опытом и которому только дай покопаться в мозгах и потрохах новых железок и ПО. Так, чертежи и схемы принтеров стали все чаще всплывать в Сети. Сегодня самым содержательным и объемным ресурсом по теме сборки 3D-принтеров является RepRap — это огромная база знаний, которая содержит детальные гайды по созданию самых разных моделей этих машин.
Первый принтер я собрал около пяти лет назад. Моя личная мотивация собрать собственное устройство довольно прозаична и основана на нескольких факторах. Во-первых, появилась возможность попробовать реализовать старую мечту иметь собственное устройство, навеянную фантастическим сериалом. Второй фактор — иногда нужно было отремонтировать какие-то домашние вещи (например, детскую коляску, элементы автомобиля, бытовую технику и другие мелочи), а нужных деталей найти не удавалось. Ну и третий аспект применения — «околорабочий». На принтере я изготавливаю корпусы для различных IoT-устройств, которые собираю дома.
Согласитесь, лучше разместить свое устройство на основе Raspberry Pi или Arduino в эстетически приятном «кузове», который не стыдно поставить в квартире или взять в офис, чем организовывать компоненты, например, в пластиковом судочке для еды. И да, можно печатать детали для сборки других принтеров 🙂
Сценариев применения 3D-принтеров огромное множество. Думаю, каждый сможет найти что-то свое.
Сложная деталь с точки зрения чертежа, которую я печатал на своем принтере. Да, это просто фигурка, но она имеет множество мелких элементов
Готовое решение vs своя сборка
Когда технология обкатана, ее стоимость на рынке заметно снижается. То же произошло и в мире 3D-принтеров. Если раньше готовое решение стоило просто заоблачных денег, то сегодня обзавестись такой машиной — дело более гуманное для кошелька, но тем не менее не самое доступное для энтузиаста. На рынке присутствует ряд уже собранных и готовых к домашнему использованию решений, их ценовой диапазон колеблется от $500-700 (не самые лучшие варианты) и до бесконечности (адекватные решения стартуют с ценника около $1000).
Если коротко, рассматривать готовую сборку стоит в трех случаях:
- когда печатать вы планируете совсем не много и редко;
- когда точность печати играет критическую роль;
- вам нужно печатать формы для серийного изготовления деталей.
Очевидных плюсов у собственноручной сборки несколько. Первый и самый главный — стоимость. Покупка всех необходимых компонентов обойдется вам максимум в пару сотен долларов. Взамен вы получите полноценное решение для 3D-печати с приемлемым для бытовых нужд качеством производимых продуктов. Второе преимущество заключается в том, что, собирая принтер собственноручно, вы разберетесь с принципами его устройства и работы. Поверьте, эти знания пригодятся вам в процессе эксплуатации даже дорогого готового решения — любой 3D-принтер необходимо регулярно обслуживать, и делать это без понимания основ может оказаться затруднительным.
Основной минус сборки — необходимость большого количества времени. На свою первую сборку я потратил около 150 часов.
Что нужно, чтобы собрать принтер самому
Самое главное здесь — наличие желания. Что касается каких-то особых навыков, то, по большому счету, чтобы собрать свой первый принтер, умение паять или писать код не критично. Конечно, понимание основ радиоэлектроники и базовые умения в области механики (то есть «прямые руки») существенно упростят задачу и сократят количество времени, которое нужно уделить сборке.
Также для старта нам понадобится обязательный набор деталей:
- Экструдер — элемент, который непосредственно отвечает за печать, печатная головка. На рынке есть множество вариантов, но для бюджетной сборки я рекомендую модель MK8. Из минусов: не получится печатать пластиками, которые требуют высокой температуры, есть заметный перегрев во время интенсивной работы, который может вывести элемент из строя. Если бюджет позволяет, то можно посмотреть на MK10 — там все минусы учтены.
- Процессорная плата. Хорошо подойдет знакомая многим Arduino Mega. Я не заметил минусов у этого решения, но можно потратить на пару долларов больше и приобрести что-то более мощное, с заделом на будущее.
- Плата управления. Я использую RAMPS 1.4, которая прекрасно работает в связке с Arduino Mega. Более дорогая, но более надежная плата — Shield, которая уже совмещает в себе процессорную плату и плату управления. В современных реалиях рекомендую обратить внимание именно на нее. В довесок к ней нужно приобрести минимум 5 микрошаговых контроллеров шаговых двигателей, например — А4988. И лучше иметь пару таких в запасе для замены.
- Стол с подогревом. Это часть, на которой будет находиться печатаемый элемент. Подогрев необходим из-за того, что большинство пластиков не будут держаться на холодной поверхности. Например, для печати PLA пластиком необходимая температура поверхности стола составляет 60-80°C, для ABS — 110-130°C, а для поликарбоната она будет еще выше
В выборе стола тоже есть два варианта — подешевле и подороже. Дешевые варианты, по сути, представляют собой печатные платы с проложенной разогреваемой проводкой. Для эксплуатации на стол такого типа потребуется класть боросиликатное стекло, которое будет царапаться и трескаться в процессе эксплуатации. Поэтому лучшее решение — стол из алюминия. - Шаговые двигатели. Для большинства моделей, включая i2 и i3, используются двигатели типового размера NEMA 17: два для оси Z и по одному для осей X и Y. Готовые экструдеры обычно идут со своим шаговым двигателем в комплекте. Двигатели лучше брать мощные с током в обмотке двигателя от 1А и более, чтобы мощности хватило для подъема экструдера и печати без пропуска шагов на высокой скорости.
- Базовый комплект пластиковых креплений.
- Ремень и шестеренки для его привода.
Примеры внешнего вида элементов: 1) экструдер MK8; 2) процессорная плата Arduino; 3) плата управления RAMPS; 4) контроллеры двигателей; 5) алюминиевый стол с подогревом; 6) шаговый двигатель NEMA 17; 7) набор пластиковых креплений; 8) шестерни привода; 9) ремень привода
Это перечень необходимых к покупке элементов. Хардкорные пользователи могут собирать некоторые из них собственноручно, но новичкам я настоятельно рекомендую приобрести уже готовые решения.
Да, еще будет нужна различная мелочевка (шпильки, подшипники, гайки, болты, шайбы…) для сборки корпуса. На практике оказалось, что использование стандартной шпильки м8 приводит к низкой точности печати на оси Z. Я бы порекомендовал сразу заменить ее на трапециевидную того же размера.
Трапециевидная шпилька м8 для оси Z, использование которой сэкономит вам кучу времени и нервов. Доступна для заказа на всех крупных онлайн-площадках
Также необходимо приобрести адаптированные пластиковые детали для оси X, например, эти из комплекта модификации MendelMax.
Большинство деталей доступно в ближайшем строительном магазине. На RepRap можно найти полный список нужных мелочей со всеми размерами и схемами. Нужный вам комплект будет зависеть от выбора платформы (о платформах поговорим дальше).
Что сколько стоит
Прежде чем углубиться в некоторые аспекты сборки, давайте разберемся, во сколько же обойдется такое развлечение для вашего кошелька. Ниже — перечень необходимых к покупке деталей с усредненной ценой.
Деталь | Количество, ед. | Средяя стоимость, USD |
Экструдер МК8 | 1 | 17 |
Экструдер МК10 | 1 | 45 |
Стол с подогревом | 1 | 11 |
Плата Arduino | 1 | 10 |
Плата RAMPS 1.4 с драйверами | 1 | 10 |
Двигатель NEMA 17 | 4 | 7 |
END-стопы (концевики) | 3 | 1 |
Набор пластиковых креплений | 1 | 30 |
Приводной ремень G2 | 2 | 1 |
Шестеренки для валов двигателей | 2 | 1 |
Шпильки м8 | 2 | 10 |
Шестеренки для валов двигателей | 2 | 1 |
Катушка пластика для печати | 1 | 12 |
Итого с МК8 | 135 | |
Итого с МК10 | 163 |
В таблице представлены примерные цены основных компонентов. Также не забудьте о гайках, шайбах, подшипниках. Эти мелочи могут потянуть еще на $20-30.
Выбор платформы
Для сборки принтеров сообщество уже разработало ряд различных платформ — наиболее оптимальных конструкций корпуса и расположения основных элементов, поэтому изобретать велосипед вам не придется.
Ключевыми платформами для корпусов самосборных принтеров являются i2 и i3. Также существует множество их модификаций с различными улучшениями, но начинающим рассматривать следует именно эти две классические платформы, так как они не требуют особых навыков и тонкой настройки.
Собственно, иллюстрация платформ: 1) платформа i2; 2) платформа i3
Из плюсов i2: она обладает более надежной и устойчивой конструкцией, хотя немного сложнее в сборке; шире возможности для дальнейшей кастомизации.
Вариант i3 требует больше специальных пластиковых деталей, которые нужно докупать отдельно, и имеет низкую скорость печати. Однако более прост в сборке и обслуживании, имеет более эстетически приятный внешний вид. За простоту придется платить качеством печатаемых деталей — корпус имеет меньшую, чем i2, устойчивость, что может влиять на точность печати.
Лично я начинал свои опыты в сборке принтеров с платформы i2. О ней и пойдет речь дальше.
Этапы сборки, сложности и улучшения
В данном блоке я затрону только ключевые этапы сборки на примере платформы i2. Полные пошаговые инструкции можно найти здесь.
Общая схема всех основных компонентов выглядит примерно так. Чего-то особо сложного здесь нет:
Также я рекомендую добавить в вашу конструкцию дисплей. Да, без этого элемента можно легко обойтись, выполняя операции на ПК, но так работать с принтером будет гораздо удобнее.
Понимая, как будут связаны все компоненты, переходим к механической части, где у нас есть два основных элемента — рама и координатный станок.
Собираем раму
Детальная инструкция по сборке рамы доступна на RepRap. Из важных нюансов — вам потребуется набор пластиковых деталей (об этом я уже говорил выше, но лучше повторюсь), который вы можете либо приобрести отдельно, либо попросить напечатать товарищей, у которых уже есть 3D-принтер.
Каркас i2 является довольно устойчивым благодаря форме трапеции.
Вот так выглядит каркас с уже частично установленными деталями. Для большей жесткости я укрепил конструкцию листами фанеры
Координатный станок
На эту деталь крепится экструдер. За ее движение отвечают шаговые двигатели, отображенные на схеме выше. После установки необходима калибровка по всем основным осям.
Из важного — вам потребуется приобрести (или же самостоятельно изготовить) каретку для передвижения экструдера и крепление для приводного ремня. Приводной ремень я рекомендую GT2.
Каретка, напечатанная принтером с предыдущей картинки, после завершения его сборки. На деталь уже установлены подшипники LM8UU под направляющие и крепление для ремня (сверху)
Калибровка и настройка
Итак, мы произвели процесс сборки (как и говорил, у меня он занял 150 часов) — каркас собран, станок установлен. Теперь еще один важный шаг — калибровка этого самого станка и экструдера. Здесь тоже есть маленькие тонкости.
Настраиваем станок
Я рекомендую проводить калибровку станка при помощи электронного штангенциркуля. Не поскупитесь на его приобретение — вы сэкономите много времени и нервов в процессе.
На скрине ниже отображены правильные константы для прошивки Marlin, которые нужно подобрать, чтобы установить корректное количество шагов на единицу измерения. Считаем коэффициент, перемножаем, подставляем в прошивку, после чего заливаем ее на плату.
Константы для прошивки Marlin
Для качественной калибровки я рекомендую в замерах опираться на цифры побольше — брать не 1-1,5 см, а около 10. Так погрешность будет более заметной, и исправить ее станет проще.
Калибруем экструдер
Когда собран каркас, станок откалиброван, мы приступаем к настройке экструдера. Здесь тоже не все так просто. Основная задача данной операции — правильно отрегулировать подачу пластика.
Если подача недостаточная, то напечатанный тестовый предмет будет с заметными пробелами, как тестовый кубик 1. И наоборот, результат будет выглядеть раздутым при чрезмерной подаче пластика (кубик 2)
Приступаем к печати
Нам остается запустить какой-нибудь CAD или загрузить уже готовые .stl, которые описывают структуру печатаемого материала. Далее эту структуру необходимо преобразовать в набор команд, понятных нашему принтеру. Для этого я использую программу Slicer. Ее тоже нужно корректно настроить — указать температуру, размер сопла экструдера. После этого данные можно отправлять на принтер.
Интерфейс Slicer
В качестве сырья для печати я рекомендую начать с обычного ABS-пластика — он довольно крепкий, изделия из него долговечны, а для работы с ним не требуется высоких температур. Для комфортной печати ABS-пластиком стол нужно разогреть до температуры 110-130 °С, а сопло экструдера — в пределах 230-260 °С.
Немного важных мелочей. Перед печатью откалибруйте станок по оси Z. Сопло экструдера должно находиться примерно в половине миллиметра от стола и ездить вдоль него без перекосов. Для такой калибровки лучше всего подойдет обычный лист бумаги формата А4, вставленный между соплом и поверхностью стола с подогревом. Если лист можно двигать с незначительным усилием, калибровка выполнена правильно.
Еще один момент, о котором не стоит забывать — обработка поверхности стола с подогревом. Обычно перед печатью поверхность стола покрывают чем-то, к чему хорошо пристает разогретый пластик. Для ABS-пластика это может быть, например, каптоновый скотч. Минусом скотча является необходимость его переклеивать через несколько циклов печати. Кроме этого, придется буквально отдирать от него приставшую деталь. Все это, поверьте, отнимает много времени. Поэтому, если есть возможность избежать этой возни, лучше ее избежать.
Альтернативный вариант, который я использую вместо скотча — нанесение нескольких слоев обычного светлого пива с последующим нагревом стола до 80-100 °С до полного высыхания поверхности и повторного нанесения 7-12 слоев. Наносить жидкость необходимо при помощи тряпочки, смоченной напитком. Из преимуществ такого решения: ABS-пластик самостоятельно отделяется от стола при остывании примерно до 50 °С и снимается без усилий, стол не придется отдраивать, а одной бутылки пива вам хватит на несколько месяцев (если использовать напиток только в технических целях :)).
После того как мы все собрали и настроили, можно приступать к печати. Если у вас есть ЖК-экран, то файл можно передать на печать при помощи обычной SD-карты.
Первые результаты могут иметь неровности и другие артефакты — не расстраивайтесь, это нормальный процесс «притирки» элементов принтера, который закончится спустя несколько циклов печати.
Рекомендации, которые смогут упростить жизнь (а иногда — сэкономить деньги)
Кроме небольших рекомендаций, приведенных в тексте выше, в этом разделе я дам еще краткий перечень советов, которые значительно упростят эксплуатацию 3D-принтера и жизнь его владельца.
- Не экспериментируйте с форсунками. Если вы планируете сразу печатать из материалов, которые требуют высоких температур, то лучше сразу возьмите экструдер МК10. На МК8 можно «навесить» специальные форсунки, поддерживающие высокотемпературные режимы. Но такие модификации часто вызывают сложности и требуют особого опыта. Лучше избежать этой возни еще «на берегу», просто поставив подходящий для вас экструдер.
- Добавьте реле стартера для стола с подогревом. Усовершенствование системы питания этой важной для печати детали при помощи реле стартера поможет решить известную проблему RAMP 1.4 — перегрев транзисторов, управляющих питанием стола, который может привести к выходу платы из строя. Я сделал такой апгрейд после того, как пришлось выбросить несколько RAMPS 1.4.
- Выберите правильный диаметр пластика для печати. Рекомендую брать пластик диаметром 1,75 мм для MK8 и MK10. Если взять пластик, например, в 3 мм, то экструдеру просто не хватит сил, чтобы проталкивать его с приемлемой скоростью — печататься все будет значительно дольше, а качество упадет. Для MK8 идеально подходит ABS-пластик, MK10 сможет производить изделия из поликарбоната.
- Используйте только новые и точные направляющие по осям X и Y. Это влияет на качество печати. Сложно рассчитывать на хорошее качество при гнутых или деформированных направляющих по осям.
- Позаботьтесь об охлаждении. В ходе моих экспериментов с различными экструдерами лучшие результаты показал МК10 — он печатает довольно точно и быстро. Также МК10 может печатать пластики, требующие более высокой температуры печати, чем ABS, например поликарбонат. Хоть он и не так сильно подвержен перегреву, как его младший брат МК8, все же я рекомендую позаботиться о его охлаждении, добавив в вашу конструкцию кулер. Он должен быть постоянно включен, эту опцию можно настроить в Slicer. Также можно добавить кулеры для поддержания приемлемой температуры шаговых моторов, однако следите, чтобы их потоки воздуха не попадали на печатаемую деталь, так как это может привести к ее деформации из-за слишком быстрого охлаждения.
- Предусмотрите сохранение тепла. Да, с одной стороны, мы боремся с перегревом элементов. С другой — равномерная температура вокруг принтера будет способствовать качественной печати (пластик будет более податливым). Для достижения равномерной температуры можно поставить наш принтер, например, в картонную коробку. Главное — перед этим подключить и настроить кулеры, о чем написано выше.
- Подумайте о термоизоляции стола. Стол с подогревом нагревается до больших температур. И если часть этого тепла уходит с толком, подогревая печатаемую деталь, то вторая часть (снизу) — просто уходит вниз. Чтобы сконцентрировать тепло от стола на детали, можно провести операцию по его термоизоляции. Для этого я просто креплю к его нижней части пробковый коврик для мыши при помощи канцелярских зажимов.
Выводы
Уверен, в процессе сборки вы столкнетесь с рядом трудностей, присущих именно вашему проекту. От этого не застрахуют ни этот текст, ни даже самые подробные гайды.
Как я и написал во вступительной части, изложенное не претендует на статус детального мануала по сборке. Описать все-все этапы и их тонкости практически невозможно в рамках одного такого текста. Прежде всего, это обзорный материал, который поможет вам подготовиться к процессу сборки (как мысленно, так и материально), понять, нужно ли лично вам заморачиваться самосбором — или же махнуть на все рукой и купить готовое решение.
Для меня сборка принтеров стала увлекательным хобби, которое помогает закрывать некоторые вопросы в домашних и рабочих делах, отвлечься от программирования и сделать что-то интересное своими руками. Для моих детей — развлечением и возможностью получить необычные и уникальные игрушки. Кстати, если у вас есть дети, которым возраст позволяет возиться с подобными штуками, такое занятие может стать хорошим подспорьем для входа в мир механики и технологий.
Для каждого векторы использования 3D-принтеров будут самыми разными и весьма индивидуальными. Но, если уж вы решитесь посвятить личное время такому увлечению, поверьте, обязательно найдете, что печатать 🙂
Буду рад ответить на комментарии, замечания и вопросы.
Что почитать/посмотреть
- что можно напечатать;
- форум по 3D-принтерам;
- сайт сообщества RepRap с описанием моделей и инструкциями по сборке;
- принтер, который печатает электронику.
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.
Теми: DIY, embedded, tech
Создайте свой собственный светодиодный куб с Raspberry Pi или Arduino
Наконец-то мы в воскресенье, во многих сообществах, день, который нужно отпраздновать, и, возможно, поэтому сегодня я хочу представить вам проект, созданный из платы Arduino, который вам обязательно понравится, не меньше, чем Светодиодный куб изготовлен из 8 x 8 x 8 синих светодиодов что, хотя он имеет немного меньше, чем функциональность воссоздания различных стилей и динамизма освещения, верно также и то, что все мы, кто любит воссоздавать этот тип проекта, это то, перед чем мы не можем устоять.
Чтобы получить наглядный пример того, что вы можете сделать с этим светодиодным кубом, я оставляю вам видео, расположенное чуть ниже этих строк где всего за несколько дней работы вы наверняка сможете получить улыбку и даже увидеть странное лицо впечатления, когда вы увидите, на что он способен, и даже на количество дизайнов и графики, которые вы можете «нарисовать».
Как видите, перед нами проект достаточно «доступный» так долго как ты знаешь немного электроникиЕсли нет, вам также не нужно беспокоиться о создании светодиодного куба, поскольку построить светодиодный куб не так уж сложно, поскольку, в конце концов, единственное, что вам нужно сделать, это ваша программа, в которой вы включаете светодиоды, как если бы они были матрица и пошли поиграться с выходами чтоб светодиоды загорались и гасли.
Теме статьи:
ЖК-экраны и Arduino
Многие пользователи приобретают Raspberry Pi только для того, чтобы использовать его как мультимедийный центр и даже как эмулятор, чтобы продолжать играть в свои любимые игры, в которые, будучи молодыми людьми, они вложили огромное количество часов. В HWLibre мы пытаемся, помимо демонстрации и понимания работы такого контроллера, показать вам, что имеет гораздо больше возможностей которые служат только в качестве мультимедийного центра или эмулятора для видеоигр.
Сегодня мы сделаем еще один шаг, и я постараюсь показать вам что-то настолько необычное и поразительное, насколько это возможно. построить светодиодный куб что вы можете управлять полностью независимо, что-то очень простое, чтобы удивить всех людей, которым мы показываем проект, имея возможность полностью включать и выключать куб или показывать самые забавные последовательности огней.
На этом этапе я уверен, что вы будете достаточно хорошо контролировать оборудование, которое есть у вашего Raspberry Pi, если это так, вы наверняка будете знать о проблемах, которые могут возникнуть при производстве большего светодиодного куба с точки зрения 3 x 3 x 3. размеры. Я говорю это, потому что очень легко получить включить и выключить светодиод, подключив его к контакту GPIO, проблема в том, когда, например, в кубе 3 x 3 x 3 у нас уже 27 светодиодов и у Raspberry Pi всего 17 контактов GPIO, представьте, если мы увеличим эти размеры.
Решение этой проблемы находится в программном обеспечении, которое мы должны разработать, и в том, как мы должны соединять светодиоды между ними, чтобы максимально оптимизировать использование контактов GPIO нашего Raspberry Pi. Если углубиться в детали, первое, что нам нужно сделать, это определить в каждом из светодиодов, которые мы собираемся использовать положительные и отрицательные концыЭто очень просто, поскольку обычно анод или положительный конец — это штырь, который немного длиннее, тогда как катод или отрицательный конец — самый короткий штифт.
Как только мы это контролируем, мы должны сварить катоды таким образом, чтобы мы могли получить матрицу желаемого размера. Идея работать быстрее и без ошибок — идти уровень за уровнем, то есть сначала строим квадрат желаемого размера, с тремя светодиодами, четырьмя, пятью … чтобы позже повторить это действие столько раз, сколько мы захотим, как только мы построим все светодиодные квадраты, нам просто нужно сложите их. Благодаря этим решениям мы сможем идентифицировать каждый светодиод по трехмерной координате.
Конечно, теория очень проста, по крайней мере, для объяснения, когда вы в меру понимаете, что делать, или когда вы уже проделали эту работу в некоторых случаях. Это может показаться намного более сложным для достижения разработать код необходимо, чтобы все это работало, поскольку они появляются во многих видеороликах, которые публикуются на таких страницах, как YouTube.
Чтобы все это было для вас еще проще, Я оставляю вам ссылку где вы можете подробно и шаг за шагом увидеть, как создать светодиодный куб 4 x 4 x 4. Осмелимся ли мы удвоить то же самое и увеличить до 8 x 8 x 8?
LED Cube 3 x 3 x 3 Arduino Shield Red – Electronix Express
{% if box. title и box.title.text и box.title.text != » %}
{{box.title.text}}
{% endif %} {% if box.subtitle и box.subtitle.text и box.subtitle.text != » %}
{{box.subtitle.text}}
{% endif %} {% присвоить total_price = 0 %}
{% для продукта в продуктах %} {% присвоить first_available_variant = false %} {% для варианта в product.variants %} {% if first_available_variant == false and variant.available %}{% assign first_available_variant = variant %}{% endif %} {% конец для %} {% if first_available_variant == false %}{% assign first_available_variant = product.variants[0] %}{% endif %} {%, если first_available_variant.available и box.template.selected %} {% присвоить total_price = total_price | плюс: first_available_variant.price %} {% конец%} {% если product.images[0] %} {% assign feature_image = product. images[0] | img_url: ‘350x’ %} {% еще %} {% присвоить Featured_image = no_image_url | img_url: ‘350x’ %} {% конец%}
{% если только продукт.доступен %} {{translation.sold_out}} {% бесконечный %}
{% конец для %}
{%, если box.template.elements содержит ‘цену’ %}
{{translation.total_price}} {{total_price | деньги}}
{% конец%} {%, если box.template.elements содержит ‘addToCartBtn’ %} {% конец%}
- {% для продукта в продуктах %}
{% присвоить first_available_variant = false %}
{% для варианта в product.variants %}
{% if first_available_variant == false and variant.available %}{% assign first_available_variant = variant %}{% endif %}
{% конец для %}
{% if first_available_variant == false %}{% assign first_available_variant = product. variants[0] %}{% endif %}
{% если product.images[0] %}
{% assign feature_image = product.images[0] | img_url: ‘350x’ %}
{% еще %}
{% присвоить Featured_image = no_image_url | img_url: ‘350x’ %}
{% конец%}
- {% if product.id == cur_product_id %} {{translation.this_item}} {% endif %}{{product.title}}{%, если только product.available %} — {{translation.sold_out}}{% бесконечный %}
{% присвоить варианты_размера = продукт.варианты | размер %}
{% для варианта в product.variants %} {{variant.title}}{%, если только вариант.доступен %} — {{translation.sold_out}}{% endunless %} {% конец для %}
{%, если box.template.elements содержит ‘цену’ %} {{первый_доступный_вариант.цена | деньги}} {% if first_available_variant.compare_at_price > first_available_variant.price %}{{первый_доступный_вариант. сравнить_по_цене | деньги}}{% конец%} {% конец%} {% конец для %}
{% if box.title и box.title.text и box.title.text != » %}
{{box.title.text}}
{% endif %} {% if box.subtitle и box.subtitle.text и box.subtitle.text != » %}
{{box.subtitle.text}}
{% endif %} {% присвоить total_price = 0 %}
- {% для продукта в продуктах %}
{% присвоить first_available_variant = false %}
{% для варианта в product.variants %}
{% if first_available_variant == false and variant.available %}{% assign first_available_variant = variant %}{% endif %}
{% конец для %}
{% if first_available_variant == false %}{% assign first_available_variant = product.variants[0] %}{% endif %}
{%, если first_available_variant.available и box.template.selected %}
{% присвоить total_price = total_price | плюс: first_available_variant. price %}
{% конец%}
{% если product.images[0] %}
{% assign feature_image = product.images[0] | img_url: ‘100x’ %}
{% еще %}
{% присвоить Featured_image = no_image_url | img_url: ‘100x’ %}
{% конец%}
{% если только продукт.доступен %} {{translation.sold_out}} {% бесконечный %}
{% if product.id == cur_product_id %} {{translation.this_item}} {% endif %}{{product.title}}{%, если product.available %} — {{translation.sold_out}} {% бесконечный%}
{% присвоить варианты_размера = продукт.варианты | размер %}{% для варианта в product.variants %} {{variant.title}}{%, если только вариант.доступен %} — {{translation.sold_out}}{% endunless %} {% конец для %}
{%, если box. template.elements содержит ‘цену’ %} {{первый_доступный_вариант.цена | деньги}} {% if first_available_variant.compare_at_price > first_available_variant.price %}{{first_available_variant.compare_at_price | деньги}}{% конец%} {% конец%} {% конец для %}
{%, если box.template.elements содержит ‘цену’ %}
{{translation.total_price}} {{total_price | деньги}}
{% конец%} {%, если box.template.elements содержит ‘addToCartBtn’ %} {% конец%}
3D LED Cube 8x8x8 Набор кубиков Lichtmatrix для пайки — AZ-Delivery
Оплата и безопасность
- Американ Экспресс
- Apple Pay
- Google Pay
- Кларна
- Маэстро
- Мастеркард
- PayPal
- Магазин Оплата
- СОФОРТ
- Виза
Потребителем является любое физическое лицо, совершающее юридическую сделку в целях, которые преимущественно не могут быть отнесены ни к его коммерческой, ни к его независимой профессиональной деятельности.
Отказ
Вы имеете право отозвать этот договор или вернуть товар в течение 14 (четырнадцати) дней без объяснения причин. Срок аннулирования составляет четырнадцать дней со дня, когда вы или указанное вами третье лицо, не являющееся перевозчиком, завладели последним товаром. Чтобы воспользоваться своим правом на отзыв, вы должны сообщить нам (компания AZ-Delivery Vertriebs GmbH, Lärchenstraße 10, 94469 Deggendorf, номер телефона: 0991/99927827, адрес электронной почты: [email protected]) посредством четкого заявления (например, письма, отправленного по почте, факсу или электронной почте) о вашем решении отозвать этот контракт . Вы можете использовать прилагаемую форму отказа от модели, но это не обязательно. Для соблюдения периода отзыва достаточно, чтобы вы отправили уведомление об использовании права на отзыв до истечения периода отзыва.
Последствия отказа
Если вы отказываетесь от этого договора, мы должны возместить все платежи, которые мы получили от вас, включая расходы на доставку (за исключением дополнительных расходов, связанных с тем, что вы выбрали другой тип доставки, чем самый дешевый стандартная доставка, предлагаемая нами), немедленно и не позднее, чем в течение четырнадцати дней со дня, когда мы получили уведомление о вашем расторжении настоящего договора. Для этого погашения мы будем использовать те же средства платежа, которые вы использовали для первоначальной транзакции, если с вами прямо не согласовано иное; ни в коем случае с вас не будет взиматься плата за это погашение. Мы можем отказать в возмещении до тех пор, пока мы не получим товар обратно или пока вы не предоставите доказательства того, что вы вернули товар, в зависимости от того, что наступит раньше. Вы получили товар немедленно и в любом случае должны быть возвращены или переданы нам не позднее чем в течение четырнадцати дней со дня, когда вы сообщите нам об аннулировании настоящего договора. Срок соблюдается, если вы отправляете товар до истечения срока в четырнадцать дней. Вы несете прямые расходы по возврату товара. Вы должны оплатить любую потерю стоимости товара только в том случае, если эта потеря стоимости не ограничивается проверкой характера, свойств и функциональности товаров, необходимой для работы с ними.
Исключение или досрочное прекращение права отказа
Право отказа не распространяется на договоры
— на поставку товаров, которые не являются сборными и для производства которых осуществляется индивидуальный отбор или определение потребительские решительные или которые четко ориентированы на личные потребности потребителя;
— для доставки товаров, которые могут быстро испортиться или срок годности которых быстро истечет;
— на поставку алкогольной продукции, цена которой была согласована при заключении договора, но которая может быть поставлена не ранее чем через 30 дней после заключения договора и текущая стоимость которой зависит от колебаний конъюнктуры рынка на которые предприниматель не имеет никакого влияния;
— на доставку газет, журналов или журналов за исключением договоров подписки.
Право отказа истекает досрочно в случае договоров
— для доставки запечатанных товаров, которые не подлежат возврату по соображениям охраны здоровья или гигиены, если их пломба была удалена после доставки;
— для поставки товаров, если они были неразрывно смешаны с другими товарами после доставки в силу их характера;
— для доставки звуко- или видеозаписей или программ для ЭВМ в запечатанной упаковке, если после доставки пломба была снята.
Образец формы отказа
(Если вы хотите расторгнуть договор, пожалуйста, заполните эту форму и отправьте ее обратно.)
В компанию
AZ-Delivery Vertriebs GmbH
Lärchenstraße 10
94469 Deggendorf
Адрес электронной почты: [email protected]
Я/мы (*) настоящим отзываем договор купли-продажи, заключенный мной/нами (*) следующие товары (*):
Заказан (*)/получен (*):
Наименование потребителя (потребителей):
Адрес потребителя (потребителей):
Подпись потребителя(ей):
(только в случае уведомления на бумаге)
Дата:
———————————————- ———
(*) Удалить при необходимости.
Информация о продукте
Ean | 4251850500820 |
Еан | 4251850500837 |
Эан | 4251850500844 |
Размер | 130 х 150 х 130 мм |
Товарное предложение
3D LED Cube 8x8x8 Light Matrix кубик для пайки
От 0 €В наличии
Weitere Projektvorschläge
Светодиодный куб 8x8x8 | Как построить светодиодный куб 8x8x8 с помощью Arduino
В этом проекте мы увидим, как построить светодиодный куб 8x8x8. Существует множество проектов, основанных на светодиодном кубе 8x8x8, и некоторые из них стали настолько популярными, что стали обязательным проектом для многих любителей.
Даже мы планировали построить светодиодный куб 8x8x8 в течение некоторого времени, и теперь мы, наконец, закончили его создание, и мы очень довольны конечным результатом.
[адсенс1]
Основная цель этого руководства — дать вам краткое представление о том, как шаг за шагом построить светодиодный куб 8x8x8 с нуля.
ПРИМЕЧАНИЕ : Работа «chr» из Instructables вдохновила нас на создание собственного светодиодного куба 8x8x8.
Outline
Обзор
Светодиодный куб 8x8x8 представляет собой визуальное наслаждение с трехмерными эффектами и узорами. Он работает на концепции постоянства видения, функции человеческого глаза, которая обманывает наш мозг, заставляя его думать, что объект постоянно присутствует в одном месте, если он появляется около 60 раз в секунду.
Поскольку светодиодный куб 8x8x8 состоит примерно из 8x8x8 = 512 светодиодов, мы не можем управлять всеми этими 512 светодиодами одновременно. Что мы можем сделать, так это управлять 64 светодиодами одновременно с чрезвычайно высокой скоростью и обманывать наш мозг, как если бы мы управляли всеми 512 светодиодами.
Пример выходного видео
В следующем видео показан пример или демонстрация выходного сигнала светодиодного куба 8x8x8.
Компоненты, инструменты и детали, необходимые для светодиодного куба 8x8x8
- Arduino Nano
- Светодиоды (5 мм) – 512
- Резисторы 100 Ом (1/4 Вт) – 64
- Резисторы 1 кОм (1/4 Вт) – 16
- Резисторы 10 кОм (1/4 Вт) – 8
- 2N2222 NPN Транзисторы – 16
- 74HC574 Octal D-триггер – 8
- 74HC138 Демультиплексор 3-в-8 — 1
- 20-контактный разъем для ИС – 8
- 16-контактный разъем для ИС – 1
- Конденсатор 0,1 мкФ (104) – 9
- Конденсатор 1000 мкФ – 1
- Конденсатор 100 мкФ – 1
- Конденсатор 10 мкФ – 1
- Светодиод включения питания — 1
- Резистор 100 Ом для светодиода включения питания — 1
- Источник питания 5 В
- Разъемы с наружной резьбой
- Розетка
- Винтовые клеммы
- Соединители с разъемами
- Ленточные кабели
- Противостояния
- Винты
- Соединительные провода
- Доска для загара
- Резак
- Съемник
- Припой (партия)
- Паяльник
[адсенс2]
Как собрать светодиодный куб 8x8x8?
Давайте теперь посмотрим, как собрать светодиодный куб 8x8x8 от начала до конца. Я постарался включить как можно больше шагов, чтобы вам не было скучно. Начнем со светодиодов.
Проверка светодиодов
Как я уже говорил ранее, нам нужно 512 светодиодов. Первый шаг — протестировать все 512 светодиодов. Вы можете использовать 3-вольтовый литиевый элемент для проверки отдельного светодиода. Этот шаг очень важен, потому что, как только вы начнете припаивать светодиоды, их будет трудно удалить.
Создание слоев
Следующий шаг — создание слоев. Каждый слой состоит из светодиодной матрицы 8×8, состоящей из 64 светодиодов. Чтобы построить слои, возьмите доску для загара и сделайте отверстия на расстоянии 2,5 см. Поместите светодиоды и начните припаивать все катоды вместе.
Для увеличения прочности слоя припаяйте несколько соединительных проводов между светодиодами. Помимо того, что они действуют как опорные стержни, эти провода также закорачивают все катоды этого конкретного слоя.
Теперь проверьте светодиоды еще раз, так как заменить неисправный светодиод на этом этапе будет довольно просто. Как только все будет готово, отложите законченный слой и продолжайте делать семь других слоев.
Укладка вертикальных слоев
После создания восьми слоев мы приступим к укладке этих слоев по вертикали. Возьмите доску для загара и отметьте 64 отверстия, чтобы вставить полюса для 64 анодных клемм. Начните паять слой за слоем и используйте любой предмет, например, линейку или даже кусок доски для загара (шириной примерно 2,5 см), чтобы разделить слои.
Готовая конструкция после укладки всех восьми слоев будет выглядеть примерно так.
64 полюса анода должны выступать из нижней части платы Sunboard, чтобы можно было припаять провода для соединения. После пайки всех 8 слоев с анодными полюсами припаяйте провода к анодным полюсам. На этом собственно кубическая часть светодиодного куба 8x8x8 завершена.
Далее мы продолжим разработку основной печатной платы для размещения всех микросхем, транзисторов и платы Arduino Nano.
Проектирование печатной платы
Для этого проекта мы разработали две печатные платы: одну для всех восьми микросхем 74HC574, которые подключаются к рядам анодов светодиодного куба, и другую плату для Arduino Nano, транзисторов и компонентов источника питания.
Закрепите платы с помощью стоек и подключите светодиодный куб к печатным платам с помощью ленточных кабелей в соответствующих местах.
Корпус для печатных плат и блока питания
Используя Sunboard, изготовьте корпус для печатных плат и блока питания. Эта часть также служит основой для светодиодного куба. Вставьте печатные платы в корпус и подключите питание через переключатель.
Окончательная сборка
Окончательная сборка светодиодного куба 8x8x8 показана на изображении ниже. Конструкция очень прочная, вся электроника, включая блок питания, спрятана внутри основания.
Принципиальная схема
На следующем рисунке показана полная принципиальная схема светодиодного куба 8x8x8 с использованием Arduino Nano.
ПРИМЕЧАНИЕ . Изображение выше может быть не очень четким из-за сильного сжатия. Если вам нужна более четкая принципиальная схема, вы можете скачать ее с этого ссылка .
Код
Код разработан на основе работы «chr» из Instructables. В Интернете есть много кодов, которые вы можете использовать.
Final Word
Как я уже говорил в начале статьи, создание светодиодного куба 8x8x8 — мечта каждого любителя электроники, и мы не исключение. Итак, после долгого откладывания проекта LED Cube, мы наконец его завершили.
На сборку светодиодного куба 8x8x8 ушло почти 24 рабочих часа (тестирование светодиодов, сгибание и резка светодиодов, создание 8 слоев светодиодов, каждый из которых состоит из 64 светодиодов, выпрямление проволоки для увеличения прочности на растяжение, укладка этих слоев вертикально, проектирование печатной платы, травление Плата, пайка компонентов на плате, подключение LED Cube к плате, сброс кода и проверка выхода).
Если вы сделали подобный проект (даже меньший, как 4x4x4 LED Cube), поздравляем вас. Это показывает вашу самоотверженность, усилия и терпение в создании проекта.
Куб 3D | куб-3d
Это приложение для генерации кода для светодиодного куба. Он генерирует необходимый код для программирования светодиодного куба с помощью Arduino или C, используя Atmel Studio. В настоящее время это работает для светодиодного куба 4x4x4 и в конечном итоге будет включать другие размеры. Код Arduino/Atmega328 и подробности можно найти в репозитории LED-Cube-Code. В будущем приложение будет имитировать светодиодный куб.
Содержание
- Установка
- Использование
- Редактор кода
- Экспорт
- Настройки
- Файл
- Масштабирование и поворот
- Учебники YouTube
- Будущие улучшения
- Помощь и участие
- Лицензия
- Авторов
- Подтверждение
Установка
Загрузите последнюю версию приложения (. exe) из выпусков и следуйте указаниям мастера установки. Он работает для Windows 10 и, возможно, более ранних ОС Windows (не тестировалось).
Использование
Приложение создает таблицу шаблонов для светодиодного куба 4x4x4 и упрощает визуализацию шаблонов. Код для программирования светодиодного куба поставляется вместе с приложением, а также существует в собственном репозитории LED-Cube-Code.
Редактор кода
Возможно, самой важной частью приложения является редактор кода. Это позволяет редактировать то, что станет файлом pattern.h, содержащим все шаблоны для светодиодного куба. Редактор кода отвечает на Введите
для создания шаблонов. Затем он сгенерирует линию шаблона в зависимости от того, какие светодиоды горят на кубе. Нажав Удалить
, вы просто удалите последнюю строку. Он имеет поле ввода для переменной времени, изменив которую, вы измените, как долго (в мс) шаблон будет отображаться на кубе. Так же есть две кнопки увеличения и уменьшения размера кода и редактор, это кнопки +
и -
.
По умолчанию код в редакторе недоступен для редактирования. Нажав на Изменить
кнопку, вы можете редактировать код. Идея в том, что вы можете добавлять комментарии для структурирования кода и изменять его, если что-то пошло не так. Просто к вашему сведению, не редактируйте код за пределами массива, так как это может нарушить функциональность горячих клавиш и привести к неправильному экспорту экспортируемых файлов. Когда вы находитесь в режиме редактирования , Ввод
не будет работать для генерации кода. Когда режим редактирования включен, редактор кода становится серым, как показано на рисунке.
Экспорт
Если вас устраивает код, сгенерированный в редакторе кода, вы можете экспортировать его. Есть два варианта: экспортировать как проект Arduino или экспортировать только файл шаблона. Экспорт проекта Arduino дает вам папку с кодом Arduino для светодиодного куба и файл pattern.h
, а экспорт файла шаблона просто дает pattern. h
. Что бы ни было в редакторе кода, оно будет в pattern.h
. Не забывайте всегда указывать имя файла или папки для экспорта, чтобы оно работало. Экспортер всегда будет спрашивать вас, куда экспортировать код.
Настройки
Это панель, где вы можете настроить куб. Среда, в которой находится куб, имеет четыре источника света в традиционном трехточечном освещении плюс потолочный свет. Отрегулируйте эти огни, если вы чувствуете необходимость сделать это. Интенсивность светодиодов также можно регулировать.
Куб состоит из коробки, платы, светодиодных ножек и светодиодов. Вы можете отключить блок-куб, печатную плату и светодиодные ножки для более чистого вида. Это, конечно, зависит от ваших предпочтений. Редактор кода также можно отключить, если вы хотите просто проверить куб или для будущего выпуска с симуляцией.
Файл
Эта кнопка содержит информацию о и информацию о горячих клавишах . Видеть, какие горячие клавиши существуют и как их использовать, очень полезно для эффективного рабочего процесса. В будущем это, вероятно, будет включать Save Project и подобные.
Масштабирование и поворот
Чтобы увеличить масштаб куба, просто используйте колесо прокрутки или сенсорную панель для масштабирования. Чтобы повернуть куб, щелкните правой кнопкой мыши и перетащите куб вокруг. Всякий раз, когда вы щелкаете правой кнопкой мыши, вы сбрасываете камеру. Это отлично, если вы хотите вернуться к положению камеры по умолчанию, и раздражает, если вы этого не сделаете. Это известное ограничение, которое будет устранено в будущем обновлении. 3D-модель куба соединена проводами точно так же, как и в реальной жизни, поэтому, если вы хотите визуализировать соединения, вы можете увеличить соединения.
Обучающие видео на YouTube
Посмотрите обучающие видео на YouTube: (скоро)
- 1. Введение в LED Cube
- 2. Теория светодиодного куба
- 3. Проводка светодиодного куба
- 4. LED CUBE Код
- 5. Приложение LED Cube
Будущие усовершенствования
Некоторые из вещей в списке будущих улучшений и функций:
- Моделирование куба. Это уже реализовано наполовину и, вероятно, появится в новой версии.
- Отображение разводки куба (плоскости/столбцы/нумерация светодиодов).
- Измените цвет куба с помощью палитры цветов.
- Улучшить функциональность масштабирования.
- Функционал для сохранения проектов и сохранения лекал в приложении.
- Добавление шаблонов примеров в приложение.
Помощь и участие
Посетите сервер Discord, если вам нужна помощь с неработающим кодом или если у вас есть предложения по улучшению! На канале YouTube также есть обучающие видео. (видео на YouTube скоро)
Лицензия
Этот проект находится под лицензией MIT и имеет открытый исходный код. Вы можете использовать этот проект по своему усмотрению, пока вы указываете работу. Подробности смотрите в файле LICENSE. Я был бы очень признателен, если бы вы внесли свой вклад в проект, которым вы делитесь, так что это может быть большой проект с открытым исходным кодом!
Авторы
Мариус К. К. Гулбрандсен
Благодарность
Большое спасибо моему брату Стигу Томасу Гулбрандсену за помощь с проблемами Unity и C#, я очень признателен. Также спасибо Денису, который создал обертку Unity-WinForms. Он очень помог заставить WinForms работать. Спасибо Judah Perez за создание потрясающей палитры цветов HSV.
HNTE — светодиодный куб
Это именно то, на что это похоже, потрясающий мигающий куб из светодиодов. Увидев на хакаде куб из 512 светодиодов, я решил что мне нужен был один для себя, и я пошел прямо на ebay, чтобы найти дешевые светодиоды. Хотя 512 светодиодов кажутся устрашающими На создание схемы управления и построение куба ушло всего одни выходные, хотя код и анимация заняли несколько недель, возможно, программирование не мое. Я пройдусь по некоторым шагам и теории здесь, и вы сможете увидеть результаты на видео в конце.
Готовый продукт
Цепь управления
До того, как я начал этот проект, я никогда не слышал о мультиплексировании, в основном это хороший способ разбить контроль над большое количество светодиодов и обман зрения, чтобы все это происходило одновременно. В этом случае все, что вам нужно сделать, это загрузите изображение на нижний слой, удерживайте его там, скажем, 5-10 миллисекунд, выключите его и загрузите изображение на следующий слой на 5-10 миллисекунд и т.д. и т.п., на такой скорости вы не сможете сказать, что каждый слой управляется отдельно. Мультиплексирование уменьшило количество светодиодов, которыми необходимо управлять одновременно, с 512 до 64 светодиодов + 8 слоев, т.е. еще больше входов/выходов, чем у большинства микроконтроллеров, поэтому я нашел хороший чип, который позволяет мне управлять любым количеством светодиодов с помощью всего 3 входа/выхода.
Драйвер приемника светодиодов STP16CP получает последовательный сигнал и может заземлить катод 16 отдельных светодиодов. Преимущество этого чипа в том, что вы можете запустить столько, сколько хотите, в каскаде, чтобы контролировать, скажем, до 64 светодиодов + 8 слоев. Я включил свою схему ниже, я использовал предложенную схему из таблицы данных, за исключением того, что я добавил развязку 10 мкФ. конденсатор на входах питания, чтобы они были красивыми и тихими, резисторы — это резисторы для настройки тока, которые я использовал У меня валялись резисторы высокой мощности 1кОм. У меня есть 4 чипа для управления 64 светодиодами в каждом слое и еще один чип и 8 транзисторов для управления слоями. Эти чипы предназначены для приема токов, а не для их подачи, поэтому вы должны убедиться, что все катоды (отрицательная нога) светодиодов в столбце соединены, а аноды (положительные ноги) всех светодиодов в каждом слое соединены вместе и питаются через транзисторы.
В настоящее время я использую блок питания от старого ПК для питания моего куба, я, вероятно, никогда не соберусь сделать более компактный блок питания источник питания, но если вы решите сделать свой собственный, помните, что такое количество светодиодов будет потреблять приличный ток, я измерил максимальный ток от моего куба, и это было около 700 мА, включая питание для схемы управления (это было с мультиплексированием, поэтому, если вы на самом деле включил все слои сразу, было бы намного больше).
Схема
Список деталей
Я получаю много вопросов о деталях, поэтому детали, которые я использовал, перечислены ниже. Я получаю все свои компоненты от Farnell, которые предлагают доставку на следующий день в Австралии или с Jaycar, не доставляются, но обычно держат на складе приличный выбор пассивных и активных компонентов. Я не говорю, что вам нужны именно эти компоненты, конденсаторы для одного довольно дорогие, и электролитический конденсатор сделал бы аналогичную работу, но это это то, что я использовал, и они, очевидно, работают.
- 5 резисторов по 1 кОм 2 Вт (2 Вт — это излишество, но они уже были у меня дома) [элемент 14, номер детали 1417017]
- 5 танталовых конденсаторов по 10 мкФ, 35 В (35 В — это излишество, но у меня уже было несколько) [элемент 14, часть № 1457591]
- 8 pnp-транзисторов BD136 (BD438 на схеме должен работать нормально) [элемент 14, номер детали 9956263]
- 5 x STP16CPS05MTR Драйвер светодиодного приемника [элемент 14, номер детали 1551227]
- 9 x 8-контактный разъем [деталь Jaycar № HM3418]
- 512 светодиодов любого цвета на ваш вкус
Что касается платы и схемы, те, кому интересно, как вы их получаете, ну, вы их делаете. я не электрик инженер, поэтому мои познания в области электроники ограничены тем, что мне могут сказать таблицы данных, если вы прочитаете STP16CPS05 техническое описаниеhttp://www.farnell.com/datasheets/28788.pdf вы увидите, что оно содержит всю информацию, необходимую для на схеме выше даже предложено применение схемы. Я использую eagleCad http://www.cadsoftusa.com/ для рисования своих схем. и раскладываем доски. Это просто, и они предлагают бесплатную версию, что приятно, на YouTube есть учебные пособия, но на самом деле единственный способ освоить это — попробовать. Чтобы сделать платы, я использую метод переноса тонера, который Google выдает примерно тысячи руководств, если вы наберете их, вот простой http://www.instructables.com/id/Cheap-and-Easy-Toner-Transfer-for-PCB-Making/.
Печатная плата
Я разложил плату с помощью eagle, оказалось, что мне пришлось сделать ее двухсторонней, чтобы поместить все дорожки, двусторонние платы немного сложнее с метод переноса тонера, и я ненавижу пайку переходных отверстий, но в итоге это выглядело не так уж плохо, несколько пятен на верхней пластине заземления, где тонер не приклеился, и вы можете видеть несколько проводов на дне, чтобы исправить сломанную дорожку и как-то плавающий блок моего заземления. Если вы хотите eaglecad, я загрузил их в свой раздел загрузок, доступ к которому можно получить через верхнее меню, но помните, что эти чипы крошечные, хотя вы можете получить уже припаянные к коммутационным платам, если будете искать достаточно усердно.
Верхняя часть платы управления
Нижняя панель управления
Куб
Я нашел самую простую часть проекта по созданию куба, как только у меня было приспособление для удержания каждого слоя на месте, и я получил в рутину все это вошло воедино относительно быстро. Первое изображение представляет собой первый полный комплект из 64 светодиодов, на втором показан анодный слой красным цветом и 64 катодные ножки черным цветом, которые будут припаяны к следующему слою, чтобы образуют катодные столбы. Каждый слой удерживается вместе по одной оси с помощью положительной ножки светодиода и вдоль другая ось с 8 кусками провода, затем слои припаяны друг к другу с использованием отрицательных ножек каждого светодиода, окончательный куб на удивление жесткий.
Как только я закончил куб, я соединил его проводами, чтобы провести некоторые испытания, прежде чем я сделал деревянный ящик, чтобы скрыть все провода и схемы, с несколькими слоями краски конечный продукт выглядел довольно хорошо, я думаю, самой раздражающей частью до сих пор было получение все 64 слегка согнутые ноги через отверстия в деревянном ящике
Первый слой
Полный куб
Готовый продукт
Схема системы
Кажется, я получаю много вопросов от людей, которые, кажется, не понимают, как куб работает как система, я думал, что все информация была здесь, но, зная меня, я, вероятно, просто пишу слишком много, и люди пропускают биты. Итак, я нарисовал картину который описывает компоновку куба и его системы, надеюсь, он прояснит некоторые вещи.
Схема системы
Управление
Первым шагом в управлении является выяснение того, как загружать данные в микросхемы STP16CP, у них есть 3 входа, часы (CLK), данных (SDI) и защелки (LE). Это довольно просто, вы загружаете данные на вывод данных, сохраняете время с часами. pin и установите данные, которые активируют выходы с защелкой. Я не нашел временных диаграмм, представленных в Лист данных изначально совершенно очевиден, поэтому я попытаюсь объяснить его, надеюсь, немного яснее здесь. Например, если вы хотите загрузить байт B11001110 = 0xCE в первый байтовый регистр в первой микросхеме STP16 в каскаде на временной диаграмме ниже показан требуемый вывод для всех 3 контактов.
Временная диаграмма STP16
Эти чипы могут принимать данные на частоте до 50 МГц или что-то сумасшедшее (чуть меньше в каскаде), поэтому для моих выходов я просто использовал 3 цифровые входы/выходы на моей плате Arduino, которая работает на частоте 16 МГц, что значительно ниже теоретического максимума, поэтому для сроки. В настоящее время все анимации рассчитываются кодом C++, который я написал на своем ПК, мой Arduino преобразует серийный номер данные, отправленные с моего ПК на 3 синхронизированных выхода, требуемых драйверами светодиодов. Приведенный ниже код Arduino показывает, насколько просто преобразовать байт. Чтобы отправить инструкции с моего ПК на плату ardunio, я использую написанную мной последовательную библиотеку C++, вы можете увидеть код здесь.
Код
Отправить байт на плату драйвера
Блок управления
Каскад работает, помещая данные в следующий байтовый регистр каждый раз, когда данные загружаются в первый регистр, это означает что первый байт, который вы загружаете, окажется в последнем байтовом регистре. Обычно, потому что у меня 5 чипов, каждый из которых имеет 2 байта. регистры я бы загрузил в каскад 10 байт перед отправкой команды защелки. Первый байт соответствует слою команда, поэтому всегда будет установлен только один бит, второй байт — просто нули, потому что к этим контактам ничего не подключено и следующие восемь соответствуют желаемому изображению на этом слое. О чем я не подумал при раскладке доски, так это о том, что каждый второй 8-контактный разъем действительно нужно было переворачивать. Это можно исправить, припаяв провода на противоположных сторонах. направления, но я все еще не думал об этом к тому времени, поэтому я исправил это, перевернув каждый второй байт с помощью следующего кода. Вы можете видеть, что некоторые базовые знания о двоичном коде могут быть полезны для этого проекта, в Интернете есть много обучающих материалов. для такого рода вещей.
Перевернуть байт
Анимации
Чтобы оживить куб, я сначала записываю все анимации в массив 8x8x8 на C++ на своем ПК, затем я разбиваю массив на 64 байта (8 байт на слой) и отправить 64 байта на мою Arduino, которая преобразует их и загружает в слой куба. по слою. Это может означать более требовательный к вычислениям код, но значительно упрощает визуализацию анимации. пока я их пишу, если я хочу включить светодиод в (x,y,z) = (5,3,0) я просто устанавливаю cubeArray[5][3][0] = 1.
Пока я ждал свои светодиоды по почте, я начал писать и чертить анимацию в Matlab, чтобы попытаться понять, как это сделать. Я собирался оживить эту штуку. Matlab очень удобен для такого рода вещей, хотя и немного медленный, когда дело доходит до построения этого графика. Кстати, вы можете видеть в коротком видео ниже, что это может помочь визуализировать вещи, когда у вас нет физической платформы.
Моделирование Matlab
Анимация с использованием математики
Вероятно, проще всего реализовать и, возможно, даже лучше всего выглядят анимации, основанные на поверхностных функциях, таких как волновая функция. в симуляции Matlab выше. Здесь я пройдусь по анимации трехмерной синусоиды, которая довольно круто смотрится на кубе. я начинаю с функция ниже, которая отображает поверхность, показанную на рисунке, чтобы получить это на моем кубе, мне нужно сопоставить функцию с моим кубом и дискретизировать непрерывную функцию.
Синусоидальная функция 3D
Поскольку мой массив, представляющий мой куб, имеет диапазон от 0 до 7 по каждой оси, вам нужно сопоставить значения X и Y с диапазоном с центром в нуле, чтобы получить симметричный результат, который вы можете сопоставить обратно в диапазоне 0-7, чтобы получить положение Z, простая функция С++, приведенная ниже, сопоставит значение в диапазоне с желаемым диапазоном.
Сопоставить номер с новым диапазоном
Таким образом, чтобы построить функцию в массиве 8x8x8, я перебираю все 64 позиции X и Y, сопоставляя эти значения с диапазоном между -PI и PI, затем вычислить положение Z, которое будет где-то в диапазоне от -1 до 1. Затем я сопоставляю результат Z обратно в диапазоне 0-7 и округлите его, чтобы получить дискретное положение, и включите светодиод в [X, Y, Z]. Я включил свой код ниже, где размер = 8, есть, вероятно, другие способы получить тот же результат, но это имело смысл для меня. Конечно, это только один экземпляр синусоидальной анимации, чтобы заставить ее двигаться, я повторяю этот код, очищая массив в каждом экземпляре и непрерывно увеличение фазы между 0 и 2PI.
Код синуса
Вот видео 3D синусоидальной анимации на кубе, к сожалению, я так и не нашел приличной камеры, чтобы снять это, поэтому качество не очень.
3D синусоидальная анимация
Существует множество классно выглядящих 3D-уравнений, еще несколько, которые я использовал и которые оказались довольно хорошими, — это спираль/спираль, и функции волн подобны той, которую я показал в симуляции Matlab выше, их уравнения ниже могут быть реализованы так же, как трехмерная синусоида.
Функция спирали
Функция 3D Wave
Генерация байтов
Итак, теперь, когда у меня есть 3D-массив, заполненный экземпляром анимации, его нужно разбить на что-то, чтобы отправить на мою Arduino. 8 такая хорошее число для такого рода вещей, потому что в байте 8 бит, поэтому я могу разделить массив на 64 байта, что составляет 512 бит каждый представляющий собой светодиод. На изображении ниже показано, как я разделил один слой куба, каждый байт хранится в массиве cubeChars. Код у меня есть написанное для этого, также включено ниже.
Слой байтов
Код генерации байтов
Готовый куб
Вот видео некоторых из анимаций, которые я написал, я пытался сделать так, чтобы все они плавно перетекали друг в друга, что, вероятно, не заняло бы столько времени. долго, если бы я не сидел здесь и не смотрел в него все время.. Я все еще использую свою хитрую камеру, но пока не найду что-то получше.. Наслаждайтесь..
Поток анимации
Интерактивный светодиодный куб
Как только я закончил свой куб, я решил, что следующим шагом будет создание интерактивных анимаций, для этого я решил научиться писать win32. приложения на C. Казалось, что это может быть полезным навыком. Я все еще работаю над программным обеспечением, но я загрузил версию 1.0, в которой есть играбельная змея. интерактивное отслеживание мыши, ввод с клавиатуры и анимация цифровых часов, а также несколько стандартных неинтерактивных анимаций. Помните, что это мой первый приложение win32, которое я написал полностью с нуля, используя VisualC++ IDE, если оно изворотливо, то потому, что я много его придумал по ходу дела. Ты можешь загрузите приложение или исходный код из раздела загрузок в верхнем меню. Если вы хотите научиться писать приложения для Windows, это учебник, который я использовал, в нем есть несколько действительно хороших объяснений и примеров http://www. winprog.org/tutorial/.
3D Змея!
Программное обеспечение и анимация моего ПК великолепны и все такое, но мне показалось хорошей задачей заставить эту штуку работать полностью от Arduino.
Итак, вот оно, ПК не требуется, просто загрузите мой код MK2 и включите его. Конечно, Arduino немного ограничен, поэтому не все мои анимации были перенесены, но это того стоило.
И, наконец, если вы приобретете модуль часов реального времени DS1307 для своего Arduino, вы сможете использовать куб в качестве часов у кровати! Я скоро загружу видео.
Если вы получаете множество ошибок при попытке скомпилировать код, просто замените каждый экземпляр WProgram.h на Arduino.h.
Последние несколько месяцев я работал над новым и улучшенным светодиодным RGB-кубом, и, вероятно, он не появится на моем сайте раньше марта 2012 года, так что вот небольшой тизер. Все мультиплексирование, модуляция битового угла для цветовых эффектов и все анимации обрабатываются моим chipKIT UNO, все анимации рассчитываются на лету, а не сохраняются. на SD-карту, ПК не требуется. Я также написал некоторое программное обеспечение для Linux для извлечения видеоданных практически из любого файла фильма, что позволяет создавать довольно крутые анимации. (хорошо, эта часть требует компьютера). Посмотрите, как я сделал это здесь!
Магия RGB
▷ 3d модели светодиодного куба arduino 【STLFinder 】
Светодиодный куб Arduino
грабкад
Отличный небольшой проект для поклонников Arduino, учебник, который я использовал, находится по адресу http://www.techmadeeasy.co.uk/2013/01/21/make-your-own-4x4x4-led-cube-with-an-arduino. / проверьте это, у них также есть демо-код, доступный на сайте для начинающих. …Светодиоды потрясающие 🙂
ПРОСТОЙ RGB-светодиодный куб Arduino
вещьвселенная
https://youtu. be/omjJk3iSG8k Привет, это мой туториал о том, как построить простой куб Arduino. … Инструкции по его сборке можно найти здесь: instructables.com/id/Simple-Arduino-RGB-LED-Cube-3x3x3
ПРОСТОЙ светодиодный куб Arduino RGB
прусапринтеры
Здравствуйте, это мой учебник о том, как построить простой куб Arduino. Инструкции по его сборке можно найти здесь: instructables.com/id/Simple-Arduino-RGB-LED-Cube-3x3x3It это очень хороший способ попрактиковаться в пайке.
RGB LED Cube XL с Arduino
вещьвселенная
RGB LED Cube с arduino и светодиодной лентой RGB. Инструкции Arduino UNO RGB Shield, Velleman KA01/VK01 или эквивалентная RGB-светодиодная лента с 5050 светодиодами. вещьвселенная
Светодиодный куб
Светодиодный куб
вещьвселенная
BOM — 3 светодиодная матрица ws2812 8×8 — https://www.aliexpress.com/item/32858208666.html?spm=a2g0s.11.0.0.27424c4d5xuIJG arduino nano -…
LED-Cube
вещьвселенная
Это светодиодный куб, который я создал в качестве рождественского подарка для своей семьи. Он состоит из дешевой печатной платы, отвечающей за зарядку, батареи, переключателя и светодиода. Так что это довольно примитивная конструкция. …
Светодиодный куб
вещьвселенная
Светодиоды для проекта я купил на ebay: http://www.ebay. com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xrainbow+LED&_nkw=rainbow+ LED&_sacat=0 Я параллельно подключил светодиоды к выключателю питания, который был подключен к 9-вольтовой…
светодиодный куб
прусапринтеры
Это ремикс https://www.thingiverse.com/thing:2261921@leC спасибо 🙂 Я изменил размер куба, чтобы светодиодная матрица подошла. BOM -3 светодиодная матрица ws2812 8×8…
Led Cube
вещьвселенная
Список деталейhttps://wiki.heidelberg-makerspace.de/wiki/LED_cube_Workshop на основе c’t Hacks / Make 03/2014, S. …22 https://shop.heise.de/katalog/alea- плюмбата-эст Параметры печати Принтер: мигбот …
LED-Cube
прусапринтеры
Это светодиодный куб, который я создал в качестве рождественского подарка для своей семьи. Он состоит из дешевой печатной платы, отвечающей за зарядку, батареи, переключателя и светодиода. Так что это довольно примитивная конструкция.
Настройки печати
…обучающий куб arduino
вещьвселенная
обучающий куб arduino (я знаю, что это не настоящий куб) — это рука помощи для мягкого входа в фантастический мир (arduino) микроконтроллеров — легкая отправная точка, вдали от путаницы макета («где мне поставить…?») — собрать,…
Светодиодная чашка 4x4x4 Arduino
вещьвселенная
https://youtu.be/B_OitS9genI 1.ARDUINO UNO 2.DİRENÇ 100 OHM 3.JUMPER DİŞİ ERKEK 4,3MM LED 64 ADET. … 5.3D ЧИКТИ ARDUİNO КОД: https://github.com/CytronTechnologies/ArduinoUNO-4x4x4-LED-Cube/blob/master/LedCube. ino
Led Cup 4x4x4 Arduino
мояминифабрика
https://youtu.be/B_OitS9genI 1.ARDUINO UNO2.DİRENÇ 100 OHM3.JUMPER DİŞİ ERKEK4.3MM LED 64 ADET.5.3D ШИКТИ ARDUINO КОД:https://github.com/CytronTechnologies/ArduinoUNO-4x4x4-LED -Cube/blob/master/LedCube.ino
Светодиодный тестер Arduino
вещьвселенная
Небольшой проект тестера светодиодов с Arduino и OLED-дисплеем, см. мою инструкцию https://www.instructables.com/id/ARDUINO-LED-TESTER/
Кронштейн Led Arduino Nano
вещьвселенная
Заглушка для 61-светодиодной панели и Arduino Nano. … Информация 3D Produktion Schweiz: 076 345 52 50
Arduino LED Box
вещьвселенная
Для его использования вам потребуется: — 1 печатная плата с кабелем USB (например, Arduino или Arduino) — 1 светодиод — 1 резистор (220 Ом) — 2 перемычки — 1 компьютер с программным обеспечением Arduino (https://www .arduino.cc/ru/Main/Software) Arduino Piezo Box :…
Светодиодная игра с питанием от Arduino
вещьвселенная
Это относится к светодиодной игре Arduino Powered. … Страница GitHub с кодом и схемами: https://github.com/masonhorder/arduino-powered-led-game Видео на Youtube: https://youtu.be/z-WqKAfAcaQ
Защитный светодиод Grove Arduino
вещьвселенная
Защита для модулей Grove LED для Arduino. N’hésitez pas si vous avez des conseils ou remarques. … Приятное впечатление!
RGB-светодиод Grove (Arduino)
грабкад
… SolidWorks2013Chainable Grove RGB LED для Arduino.. …Лучшая копия, которую я мог.. (Я сделал это, так что это не 100% «оригинал»)LED RVB grove Arduino.. …Au plus fidèle .. (C’est moi qui l’ai fait, donc ce ne sont pas les valeurs «officiels»)
Светодиодный индикатор Grove для Arduino
грабкад
Составные части: модуль grove arduino
светодиодная подставка Arduino
вещьвселенная
Каждый светодиод горит синим ровно 1 час, а затем становится зеленым, давая мне понять, что я должен был выпить один стакан на 8 унций к тому времени, когда загорится следующий светодиод. К концу рабочего дня я должен был выпить восемь стаканов по 8 унций. Если вы идете более 8 часов, новый…
Светодиодные матричные часы Arduino
вещьвселенная
(см. последнее изображение) В дополнение к модели для 3D-печати я предоставил необходимый код Arduino здесь: https://github.com/wilhelmzeuschner/arduino_led_matrix_clock Если вы создаете этот проект и хотите дать мне что-то взамен , я бы…
светодиодные песочные часы arduino
вещьвселенная
Он может работать от батареи и USB. Он был вдохновлен проектом светодиодных песочных часов @david_proyectos https://www.instagram.com/p/B_VdSapAc-J/ YouTube Video https://www.youtube.com/watch ?v=zHJjEaxN9Wg…
Светодиодные матричные часы Arduino
прусапринтеры
(см.