Оглавление:
- Шаг 1: материалы / инструменты
- Шаг 2: рамка
- Шаг 3: Подключение светодиодов
- Шаг 4: Пайка Шаг 1
- Шаг 5: пайка Шаг 2
- Шаг 6: пайка Шаг 3
- Шаг 7: Пайка Шаг 4
- Шаг 8: приклеиваем светодиоды к раме
- Шаг 9: вырезание акриловых квадратов (если они у вас не были вырезаны)
- Шаг 10: нанесение зеркальной пленки
- Шаг 11: размещение зеркал в раме
- Шаг 12: Электроника
- Шаг 13: Код:)
- Шаг 14: Наслаждайтесь потрясающим бесконечным кубом
Видео: "Легкий" бесконечный куб: 14 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Кубы бесконечности и икосаэдры - вещи, которые всегда привлекали мое внимание. Однако их всегда было довольно сложно сделать из-за относительно сложной конструкции. Однако у этого бесконечного куба есть рамка, которая напечатана как единое целое. Сделать сборку намного прочнее и проще, чем в большинстве других проектов. Размер куба выбран таким образом, что для всего куба требуется всего 1 м светодиодной ленты, что снижает стоимость. Я очень доволен тем, как получился этот проект, и надеюсь, что он вам тоже понравится!
Шаг 1: материалы / инструменты
Материалы:
- 1 метр ws2812b 144LED / м IP30 $ 8,69
- микроконтроллер (Arduino) $ 2,58
- 6 квадратов из оргстекла (91 * 91 * 3 мм)
- зеркальная пленка 2,19 $ (Товар пришел в плохом качестве, на Али заказывать не могу)
- провод (для соединения частей светодиодной ленты) $ 1,61
- 3D-печатная рама
- мыльная вода (это вообще материал?)
- Источник питания 5 В 4,86 долл. США (10 А, если вы хотите, чтобы все светодиоды были белыми, но 5 А в большинстве случаев подойдет)
Инструменты:
- Паяльник
- второй клей
- горячий клей (по желанию)
- устройства для зачистки проводов
- маленькие плоскогубцы (для помощи при пайке в узких углах)
- 3D-принтер (или кто-то, кто готов помочь вам с печатью рамки)
Шаг 2: рамка
Это самая важная часть этого проекта. Деталь печатается на одном из углов, поэтому разница в линиях слоев меньше и потому что «теоретически» поддержка не требуется при печати в этой ориентации. Однако после того, как эта печать не удалась, я все равно решил добавить опоры. Опоры на самом деле нарисованы в модели, потому что срез не может эффективно сгенерировать их для такой модели («v3 v11.stl» поддерживает, v3 v12.stl »не поддерживает).
Из-за ориентации необходимо пространство 180 * 160 * 180 для печати куба 114 * 114 * 114. На печать у меня ушло 10 часов, а для модели требуется примерно 65 г нити.
Шаг 3: Подключение светодиодов
Важно понимать, как нужно паять провода, прежде чем паять их на самом деле, так как места для работы не так много. Рисунок выше (который представляет собой куб) должен дать вам представление о том, как все припаяно.
Через отверстие в кубе проходят 5 проводов. Две пары 5V и GND, одна для питания начала светодиодной ленты (на нижнем слое) и одна для питания конца (на верхнем слое). Это не просто питание ленты на двух концах, это фактически необходимо для устранения необходимости в более сложных паяных соединениях. Другой провод, который входит, - это линия данных, это линия, которая отправляет данные на все светодиоды, чтобы указать их цвет.
Если вы проследите за зеленой линией, вы можете увидеть порядок, в котором участки полосы из 12 светодиодов соединены друг с другом (на изображении они пронумерованы по порядку). В тех частях, где зеленая линия проходит рядом с частью светодиодной ленты, это означает, что она проходит под полосой (в рамке есть место для этих проводов).
На эскизе вы можете видеть, что есть три части, центральный квадрат, внешний квадрат и средние 4 части, которые находятся между двумя квадратами. Средние 4 части получают свои 5V от внешнего квадрата, а их GND - от центрального квадрата.
Обратите внимание, что провода, питающие внешний квадрат, входят в нижний слой и проходят через рамку (за частью светодиодной ленты) к верхнему слою.
Шаг 4: Пайка Шаг 1
Я собираюсь разделить этот раздел на подэтапы, чтобы лучше все объяснить. Я пронумеровал части светодиодной ленты на изображении выше, чтобы лучше все объяснить.
Вот как я это сделал, если у вас есть способ получше, просто используйте свой собственный.
Обязательно обратите внимание на направление частей светодиодной ленты! Неправильная установка одной детали может доставить вам много хлопот
Шаг 1: Поскольку нам нужны секции по 12 светодиодов, вы должны начать с разрезания светодиодной ленты на 12 частей по 12 светодиодов в каждой. Затем подключите 3 провода к части 1, убедитесь, что подключили их со стороны Din. Добавьте еще 2 провода для подключения к V5 и GND на части 12 на стороне Dout, провода для этой стороны должны быть как минимум на 12 см длиннее, так как они должны проходить через раму, провода не нужно припаивать к части. 12 пока нет. Пропустите все 5 проводов, соединяющих эти части, через отверстие. Затем снимите крышку из липкой ленты и приклейте деталь 1 к каркасу, не волнуйтесь, лента плохо держится, детали потом приклеим клеем.
Шаг 5: пайка Шаг 2
Обязательно обратите внимание на направление частей светодиодной ленты! Неправильная установка одной детали может доставить вам много хлопот
Шаг 2: Теперь будут добавлены части 2-3, тот же процесс можно повторить для 4, 5 и 6, 7. Во-первых, нужно припаять провод к Din части 3, этот провод должен быть 15 см или длиннее и идет к Dout части 2 (синяя линия на изображении). Этот провод будет обрезан позже. После пайки провода снимите липкую ленту, прикрывающую эту деталь, и поместите ее вниз.
Затем соедините Dout op части 1 с Din части 2, для этого вам может потребоваться немного вытянуть часть 1 из рамы. это должен быть очень короткий провод с кусочком изоляции посередине. Снимите ленту с части 2 и поместите ее на место, убедившись, что синий провод идет позади нее.
Теперь обрежьте провод, соединенный с Din части 3, и припаяйте его к Dout части 2. Чтобы припаять это, очень вероятно, что вам придется снова удалить часть 2 из рамы, чтобы освободить место. Это очень узкий угол, и провод, который находится под частью 2, должен будет сделать резкий поворот на 180 градусов, чтобы подключиться к Dout части 2 (это можно увидеть на изображении 4).
Теперь соедините V5 части 1 и части 3, для этого может понадобиться короткий провод.
Наконец, возьмите небольшой кусок провода, чтобы соединить GND частей 1, 2 и 3 друг с другом. Если площадка 5V части 2 мешает, вы можете просто отрезать угол этой части по диагонали, чтобы удалить площадку для пайки.
Поищите шорты, если думаете, что допустили ошибку.
Теперь повторите части 4, 5 и 6, 7:)
Шаг 6: пайка Шаг 3
Обязательно обратите внимание на направление частей светодиодной ленты! Неправильная установка одной детали может доставить вам много хлопот
Шаг 3: Прямо сейчас части с 1 по 7 должны быть размещены вниз, обязательно проверьте все трижды, потому что вы не можете легко проверить это, потому что части 2, 4 и 6 еще не имеют 5 В. Подключите провода 5V и GND, проходящие через отверстие, к детали 12. Снимите крышку из липкой ленты с детали 12 и поместите ее вниз. Убедитесь, что провода хорошо проходят через желоб на месте части 8 (которая еще не размещена). Вы можете протянуть провода немного дальше через отверстие, чтобы они лучше подходили. Затем соедините Din части 8 с Dout части 7, как и в предыдущем шаге. затем соедините GND части 7 с частью 8.
(На изображении выше я еще не добавил часть 12, я добавил ее, но у меня нет ее изображения.)
Шаг 7: Пайка Шаг 4
Обязательно обратите внимание на направление частей светодиодной ленты! Неправильная установка одной детали может доставить вам много хлопот
Шаг 4: Вы почти закончили, нужно разместить только части 9, 10 и 11. Пайка их должна быть прямой, просто не забудьте припаять Dout одного элемента к Din следующего первого, так как потом к нему будет трудно получить доступ. Не забудьте подключить 5 В этого слоя к 5 В частей 2, 4, 6 и 8.
Чтобы проверить, все ли светодиоды работают, я использовал следующий код. Он пройдет через все светодиоды один за другим. Если что-то не работает, вы можете использовать мультиметр, чтобы выяснить, что не так.
#include #define LED_PIN 7 #define NUM_LEDS 144 CRGB светодиодов [NUM_LEDS]; int counter; void setup () {FastLED.addLeds (светодиоды, NUM_LEDS); счетчик = 0; } void loop () {counter = (counter + 1)% 144; светодиоды [счетчик] = CRGB (255, 0, 0); FastLED.show (); задержка (20); светодиоды [счетчик] = CRGB (0, 0, 0); }
Поскольку одновременно запитывается только один светодиод, этот код можно запитать через Arduino. Это означает, что внешний источник питания не требуется для запуска этого кода, вы можете просто подключить 5V и GND полосы к Arduino.
Шаг 8: приклеиваем светодиоды к раме
Как упоминалось ранее, липкая лента на самой полоске плохо держится на PLA. Вот почему я немного приподнял все части светодиодной ленты и нанес второй клей под них, а затем прижал их.
Будьте осторожны, чтобы не пролить этот клей. Помимо склеивания рук, он оставит пятна на раме
Шаг 9: вырезание акриловых квадратов (если они у вас не были вырезаны)
Вместо того, чтобы разрезать акрил на квадраты размером 91 мм, я использовал линейку и нож, чтобы нарисовать линии на акриле в тех местах, где я хотел его сломать. Сделав линию на акриле с помощью ножа, я разместил линию на краю стола, чтобы сломать кусок на линии. Это не очень точно и может привести к немного неровным краям, но есть место для погрешности в несколько миллиметров, поэтому это не имеет большого значения.
(Я уже нанес пленку на два квадрата на изображении)
Шаг 10: нанесение зеркальной пленки
Вот ссылка на кого-то, кто объясняет, как это сделать, чтобы резюмировать это:
- Очистите акрил, удалите волокна или пыль
- Нанесите мыльную воду на акрил.
- снять пластик с пленки
- поместите пленку на акрил
- удалите пузыри и мыло из центра пластиковой карточкой
- обрезать края
Обязательно удалите все частицы перед нанесением пленки, это существенно влияет на ее внешний вид
Шаг 11: размещение зеркал в раме
Перед тем, как поместить какие-либо зеркала в раму, убедитесь, что зеркальная сторона хорошо очищена, эта сторона будет помещена внутрь и не подлежит очистке после этого.
Я разместил зеркала в противоположных парах, просто чтобы убедиться, что они точно так же шагают. На самом деле этого очень легко добиться, так как рама должна заботиться о выравнивании. Я прикрепил зеркала вторым клеем к раме (для этого может быть лучше горячий клей, он не оставляет пятен на PLA). Зеркальная сторона обращена внутрь, потому что это самая хрупкая сторона, и поэтому свету не нужно проходить через слой акрила, прежде чем снова отразиться.
Шаг 12: Электроника
Я начал с очистки проводов, которые выходили из куба, это просто, на мой взгляд, делает все немного аккуратнее. Поскольку этот проект представляет собой просто Arduino со светодиодной лентой, все довольно просто. 5 В от источника питания должны быть подключены к 5 В куба и к 5 В Arduino. GND от источника питания необходимо подключить к GND куба и к GND Arduino. Убедитесь, что вы правильно соблюдаете полярность, при необходимости проверьте это с помощью мультиметра, прежде чем включать его, иначе вы можете поджарить свой Arduino. Чтобы избежать этого, вы также можете подключить Arduino к разъему питания, но для этого вам понадобится дополнительный разъем. Теперь осталось только подключить Din куба к контакту на Arduino, в итоге я использовал контакт 5, но это не имеет особого значения. Просто правда ?!
примечание: третье изображение - это просто какая-то схема, которую я нашел в сети, резистор там не нужен. Вы можете решить включить его,
Шаг 13: Код:)
Код, который я использовал до сих пор, был довольно простым, я просто взял код из библиотеки быстрых примеров светодиодов и изменил несколько чисел для запуска на этом кубе (исходный код, который я использовал, можно найти здесь). Перед подключением Arduino к компьютеру через порт USB обязательно отключите соединение 5 В между источником питания и Arduino.
В итоге я написал код с несколькими анимациями, некоторые из них можно увидеть на видео выше:
Не копируйте вставку из этого, он не будет работать из-за того, как инструкции вставляют код
#include #define LED_PIN 5 #define NUM_LEDS 144 CRGB светодиодов [NUM_LEDS];
void setup () {
FastLED.addLeds (светодиоды, NUM_LEDS); fill_solid (светодиоды, NUM_LEDS, CRGB (0, 0, 0)); // заливка полностью черным FastLED.show (); } void loop () {onesnake (10000); fill_solid (светодиоды, NUM_LEDS, CRGB (0, 0, 0)); fadeFromCenter (10000); fill_solid (светодиоды, NUM_LEDS, CRGB (0, 0, 0)); // радуга (5000); fill_solid (светодиоды, NUM_LEDS, CRGB (0, 0, 0)); блестки (10000); fill_solid (светодиоды, NUM_LEDS, CRGB (0, 0, 0)); // loopThroughColors (5000); fill_solid (светодиоды, NUM_LEDS, CRGB (0, 0, 0)); } void onesnake (int duration) {unsigned long startTime; startTime = миллис (); int location = 1; int nextpath = 1; int corners [8] [3] = {{-7, 8, 1}, {-1, 2, 3}, {-3, 4, 5}, {-5, 6, 7}, {-8, -12, 9}, {-2, -9, 10}, {-4, -10, 11}, {-6, -11, 12}}; int ledsInSnake [48]; int color = 0; для (int я = 0; imillis ()) {если (местоположение> 0) {для (int я = 0; я <12; я ++) {цвет = (цвет + 5)% 2550; светодиоды [ledsInSnake [0] = CHSV (255, 255, 0); for (int j = 0; j <48; j ++) {if (j! = 0) {светодиоды [ledsInSnake [j] = CHSV (цвет / 10, 255, (j * 255) / 48); ledsInSnake [j-1] = ledsInSnake [j]; }} ledsInSnake [47] = (местоположение-1) * 12 + я; светодиоды [ledsInSnake [47] = CHSV (цвет / 10, 255, 255); FastLED.show (); задержка (20); }} if (location <0) {for (int i = 0; i <12; i ++) {color = (color + 5)% 2550; светодиоды [ledsInSnake [0] = CHSV (255, 255, 0); for (int j = 0; j <48; j ++) {if (j! = 0) {светодиоды [ledsInSnake [j] = CHSV (цвет / 10, 255, (j * 255) / 48); ledsInSnake [j-1] = ledsInSnake [j]; }} ledsInSnake [47] = (местоположение + 1) * - 12 + 11-я; светодиоды [ledsInSnake [47] = CHSV (цвет / 10, 255, 255); FastLED.show (); задержка (20); }} nextpath = random (0, 2); for (int i = 0; i <8; i ++) {// разница 8 if (corners [0] == - location || corners [1] == - location || corners [2] == - местоположение) {if (corners [nextpath]! = - location) {location = corners [nextpath]; } еще {местоположение = углы [я] [следующий путь + 1]; } перерыв; }}
FastLED.show ();
задержка (20); }} void fadeFromCenter (int duration) {unsigned long startTime; startTime = миллис (); int counter = 0; в то время как (время начала + продолжительность> миллис ()) {счетчик = (счетчик + 1)% 255; для (int я = 0; я <12; я ++) {для (int j = 0; jmillis ()) {счетчик = (счетчик + 1)% 255; для (int i = 0; i
void rainbow (int duration) {
unsigned long startTime; startTime = миллис (); int counter = 0; в то время как (время начала + продолжительность> миллис ()) {счетчик = (счетчик + 1)% 255; for (int i = 0; i <NUM_LEDS; i ++) {leds = CHSV ((i * 5 + counter)% 255, 255, 255); } FastLED.show (); задержка (20); }} пустота искры (int duration) {unsigned long startTime; startTime = миллис (); int LENGTH = 40; int blink [ДЛИНА]; int color = 0; для (int я = 0; imillis ()) {цвет = (цвет + 5)% 2550; светодиоды [мигание [0] = CHSV (255, 255, 0); for (int i = 0; i <LENGTH; i ++) {if (i! = 0) {светодиоды [blink = CHSV (цвет / 10, 255, (i * 255) / ДЛИНА); мигание [i-1] = мигание ; }} мигание [LENGTH-1] = случайное (0, NUM_LEDS); FastLED.show (); задержка (50); }}
Шаг 14: Наслаждайтесь потрясающим бесконечным кубом
Надеюсь, вам понравилось это руководство. Если да, пожалуйста, проголосуйте за меня в конкурсе и поделитесь своим мнением. Я хотел бы услышать ваши идеи по проектам или улучшениям в этой сборке. Спасибо за прочтение!
Второй приз конкурса Make it Glow
Рекомендуемые:
Сделать ЛЕГКИЙ зеркальный куб бесконечности - НЕТ 3D-печати и НЕТ программирования: 15 шагов (с изображениями)
Сделать ЛЕГКИЙ зеркальный куб бесконечности | НИКАКОЙ 3D-печати и НИКАКОГО программирования: всем нравится хороший бесконечный куб, но похоже, что его будет сложно сделать. Моя цель в этом Руководстве - показать вам, как его сделать шаг за шагом. Не только это, но и с инструкциями, которые я вам даю, вы сможете сделать одно о
Светодиодный звуковой реактивный бесконечный кубический конечный стол: 6 шагов (с изображениями)
Светодиодный звуковой реактивный бесконечный кубический торцевой стол: Вау! Ого! Какой классный эффект! - Вот некоторые вещи, которые вы услышите после завершения работы с руководством. Совершенно умопомрачительный, красивый, гипнотический, реагирующий на звук бесконечный куб. Это скромно продвинутый проект по пайке, на который у меня ушло около 12 человек
Сделать бесконечный зеркальный куб: 12 шагов (с картинками)
Создание зеркального куба бесконечности: когда я искал информацию при создании своего первого зеркала бесконечности, я наткнулся на несколько изображений и видео кубов бесконечности, и определенно хотел сделать одно из своих. Главное, что меня сдерживало, это то, что я хотел сделать это по-другому
Волшебный куб или куб с микроконтроллером: 7 шагов (с изображениями)
Magic Cube или Micro-controller Cube: в этой инструкции я покажу вам, как сделать Magic cube из неисправного микроконтроллера. Эта идея возникла, когда я взял неисправный микроконтроллер ATmega2560 от Arduino Mega 2560 и сделал куб. .Что касается оборудования Magic Cube, у меня есть как
Простой бесконечный куб: 7 шагов (с изображениями)
Простой бесконечный куб: я знаю, что существует множество бесконечных штуковин - так что вот еще один !. Мне показалось, что это легко сделать, и обычно он получает хорошее "Вау!" Я предполагаю, что любой, кто делает тезисы, имеет базовые навыки (мои довольно базовые!) В базовой форме инфини