Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Искусство светодиодной башни

Компоненты и расходные материалы

Программируемый светодиод RGB APA 106, 8 мм
× 288
Arduino UNO
× 1
луженая медная проволока калибра 22
× 1
Металлические кольца диаметром 8 дюймов
× 12
12-дюймовые акриловые стержни
× 10

Необходимые инструменты и машины

Паяльник (универсальный)
Пистолет для горячего клея (общий)
клей BlueTack
Защелкивающиеся радиаторы

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

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

Я решил использовать 8-миллиметровые программируемые светодиоды APA106 для этой башни. Существуют более дорогие светодиоды RGB, но с ними намного проще работать как с аппаратной, так и с программной точки зрения. Регистров сдвига нет - все контролируется двумя линиями данных. И никакого ISR (процедуры обслуживания прерывания) и никакого мультиплексирования между слоями светодиодов - эти светодиоды горят постоянно.

Я решил построить свой цилиндр / башню в виде набора из 12 колец, уложенных друг на друга. Кольца имеют диаметр 8 дюймов, и каждое кольцо содержит 24 светодиода, расположенных на расстоянии 1 дюйма друг от друга (на самом деле π * 8/24, но близко к дюйму). Сами кольца разделены на 1 дюйм, поэтому светодиоды находятся на расстоянии 1 дюйма в обоих направлениях. Акриловый стержень используется для скрепления колец вместе, образуя башню.

Светодиоды APA106 могут потреблять 60 мА при максимальной яркости и белом, так что в худшем случае эта башня может потреблять 17 ампер! Но эти светодиоды настолько яркие, что я редко устанавливаю яркость более 10% в программном обеспечении. И превращение всей башни в белый цвет тоже нигде не делается. Так что на практике у меня никогда не было проблем с использованием USB-порта для его питания. И если вы хотите использовать отдельный блок питания, кажется, что 2 ампера работают нормально.

Строительство

Я нашел на Amazon несколько металлических колец диаметром 8 дюймов, которые, как я подумал, станут хорошей основой для моего светодиодного кольца. На самом деле это был приятный сюрприз, когда я обнаружил, что могу легко их припаять! Термин «легко» относительный - кольцо такое тяжелый, и требуется много тепла, чтобы нагреть его, поэтому мой 40-ваттный паяльник был полностью развернут, и ему обычно приходилось сидеть там в течение 5-10 секунд, прежде чем припой расплавился.Сначала я смачиваю кольцо припоем прежде, чем пытаться припаять к нему светодиод, и всегда используйте зажимные радиаторы на выводах светодиодов.

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

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

Еще один подготовительный этап перед пайкой светодиодов к кольцу - разметить 24 ровных места на кольце, где будут размещены светодиоды. Я также обнаружил необходимость зажимать кольцо вертикально при установке светодиодов. В итоге я использовал приспособление, указанное ниже, чтобы удерживать кольцо на месте,

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

После того, как все светодиоды загорятся на кольце, у вас должен быть один ввод данных для кольца в целом, с выводом данных напротив него, готовым перейти к следующему кольцу над ним. На этом этапе мы готовы соединить все выводы +5 В вместе с выпрямленным куском луженой медной проволоки 22 калибра. Выпрямите кусок провода длиной 26 дюймов, зажав один конец в тисках и сильно потянув другой конец плоскогубцами. Затем прикрепите его к светодиодам, как показано ниже.

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

Теперь вам нужно сделать еще 11 колец. Это большая работа, но немного потренировавшись, вы сможете сократить время изготовления одного кольца до пары часов.

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

Как только у вас будет построено хотя бы четыре кольца, вы можете приступить к процессу сборки башни. Первоначальная сборка нижних четырех колец, вероятно, является наиболее важной частью конструкции. Мы не хотим создавать Пизанскую башню! Чтобы соединить кольца, вам понадобятся распорки высотой 22 мм, чтобы создать расстояние между кольцами в 1 дюйм. Я использовал для своих распорок черный пластик, напечатанный на 3D-принтере, но дюбели на 1/4 дюйма тоже подойдут. Чтобы закрепить распорки на месте, я использовал немного временного клея Blue Tack.

Кольца скреплены, образуя башню, с помощью шести 12-дюймовых акриловых стержней. Перед установкой этих стержней важно точно установить все на свои места. После того, как стержни приклеены к кольцам горячим способом, практически невозможно внести какие-либо изменения, поэтому сначала поставьте все, где хотите. Когда все будет на месте, вы можете повернуть башню набок и приклеить горячим клеем акриловые стержни к кольцам. На фото ниже показаны первые четыре кольца с прикрепленными первыми тремя стержнями. Затем были прикреплены еще три, всего шесть. Стержни размещены между светодиодами по 4 светодиода между каждым стержнем.

После того, как все стержни прикреплены к кольцам, распорки можно удалить, а затем повторно использовать при добавлении дополнительных колец. Когда все 12 колец на месте, мы готовы подключить заземление, + 5В и линии передачи данных между кольцами. Для этого используется луженая медная проволока калибра 22. Шины питания соединены со всеми 12 кольцами параллельно.

Есть две линии данных, каждая со 144 светодиодами - одна для верхних 6 колец (которая в конечном итоге идет на вывод 6 UNO) и одна для нижних 6 колец (которая в конечном итоге переходит на вывод 7 UNO). Каждая линия данных начинается с нижнего кольца и поднимается до самого верхнего кольца. Изначально я планировал иметь только одну линию данных, но к 8-му кольцу я начал замечать некоторые странные нежелательные вспышки света. Сначала я подумал, что это могут быть шины питания, но добавление конденсаторов через шины не помогло, поэтому я решил разделить башню на две линии передачи данных. Это решило проблему.

Итак, выше фотография готовой башни. Arduino UNO устанавливается внизу. На самом деле я использовал свои 4 оставшихся акриловых стержня, чтобы подвесить UNO, используя горячий клей, чтобы скрепить все вместе. Альтернативный подход может заключаться в установке башни на основании с UNO внутри. Есть 4 подключения к шинам UNO, заземления и +5 В, которые подключаются ко всем 12 кольцам, а две линии данных - к контактам 6 и 7.

Программное обеспечение

Программируемые светодиоды, такие как APA106, просты в использовании, потому что есть несколько доступных библиотек, которые обрабатывают синхронизацию импульсов данных, используемых для управления ими. Для предыдущих проектов, которые я делал со светодиодами APA106 (мой 2-й RGB-куб 5x5x5 и проект треугольной графики), я использовал популярную программную библиотеку NeoPixel от Adafruit. Но для этой башни я выбрал библиотеку FastLED. В нем много замечательных функций, а также несколько быстрых математических функций, которые, как я думал, пригодятся. Это также позволило мне легко заменить мою довольно грубую палитру радуги с 43 шагами на палитру с 256 шагами. В нем есть сотни функций, предопределенные палитры и другие вещи, которые я не использовал для этого проекта, но которые делают его отличным выбором как для этого, так и для будущих проектов. И еще одна функция FastLED, которую я нашел очень удобной, - это ее способность легко затухать.

Мне всегда нравится иметь функцию, которая позволяет мне легко определять светодиод и его цвет. Для этой башни он должен быть в форме setColor (row, column, color), где row - это кольцо, на котором она находится, а column - какая позиция в этом кольце. Эта подпрограмма занимается всеми преобразованиями, из которых линия данных горит светодиодом и какова его позиция в цепочке данных.

Одним из мощных инструментов библиотеки FastLED является объектный класс всех веб-названий цветов. Вы просто указываете цвет как CRGB ::HotPink, где CRGB - это класс, а HotPink - член этого класса. Но членов класса трудно продолжать вводить, и их надоедает передавать функциям в качестве параметров, поэтому я использовал операторы #define, чтобы настроить небольшую палитру именованных цветов, на которые я могу ссылаться просто по их имени без CRGB ::.

У меня есть еще одна функция, которая устанавливает цвет конкретного светодиода как оттенок радужной палитры от 0 до 255. Между этими двумя функциями я могу легко указать 10 именованных цветов или сгенерировать плавную радужную палитру оттенков для любого светодиода в башне.

Еще одна основная функция, которую я создал, была rotate (кольцо, направление), которая вращает содержимое любого кольца вокруг этого кольца. Каждый вызов - это один шаг, но эту процедуру можно использовать для поворота содержимого всей башни или частей башни в противоположных направлениях и т. Д., Создавая множество интересных эффектов.

Еще одна вещь, которую я мог бы упомянуть о библиотеке FastLED, заключается в том, что она напрямую поддерживает светодиоды APA106, которые я использую. Хотя библиотека NeoPixel от Adafruit также работала с APA106, мне пришлось поэкспериментировать с настройкой, чтобы получить все правильно. При использовании FastLED настройка выполняется автоматически, просто указав APA106 в качестве светодиода, который вы используете.

Как я сказал в начале, один из наиболее интересных эффектов, которые вы можете создать с помощью этой башни, - это пересечения цилиндра и плоскости. Сначала я думал о том, чтобы сделать это на лету с помощью математики. Но есть вопросы о том, достаточно ли быстр UNO, и оказалось, что сделать это в таблицах было довольно легко, поэтому я выбрал второй подход. В основном этот стол освещает пересечение плоскости с башней под 18 разными углами, а высота, на которой происходит пересечение, может быть изменена. Вы увидите результаты в нескольких разных местах шоу.

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

В программный пакет входят три эскиза UNO:

1) быстрый тест на одиночное кольцо.

2) 45-секундный превью шоу

3) 8-минутное шоу с 16 различными эффектами или анимациями

Все три показаны здесь, в видеороликах в этой статье (хотя кольцевой тест несколько отличается от того, который показан на видео).

И последнее о программном обеспечении. В конце основного цикла, где вызываются различные анимации, я добавил программный сброс. Обычно в этом нет необходимости, но где-то в моем программном обеспечении есть ошибка. Без сброса после многократного прогона всех анимаций программа зависает. Скорее всего, у меня что-то не выходит из стека в ОЗУ, когда должно. Это может быть проблема даже в библиотеке FastLED. Но я так и не нашел, и программный сброс обеспечивает бесперебойную работу, хотя и не самое элегантное решение.

Код

  • Код Arduino для светодиодных башен
  • Программное обеспечение для Tower Art
Код Arduino для LED Tower Art Arduino
Эта загрузка представляет собой один zip-архив с 3 эскизами:
1) кольцевой тест для проверки одиночного кольца от контакта 6
2) быстрое шоу - превью за 45 секунд
3) шоу, которое длится 8 минут перед повторением
 Без предварительного просмотра (только загрузка). 
Программное обеспечение для Tower Art Arduino
Эта загрузка представляет собой один zip-архив с 3 эскизами:
1) кольцевой тест для проверки одиночного кольца от контакта 6
2) быстрое шоу - превью за 45 секунд
3) шоу, которое длится 8 минут перед повторением
 Без предварительного просмотра (только загрузка). 

Схема


Производственный процесс

  1. Ветряная турбина
  2. Музыкальный визуализатор DIY LUMAZOID для Arduino
  3. Атака НЛО!
  4. Рулетка DIY 37 LED
  5. Мелодия танца в гробу
  6. 3D RGB Arduclock
  7. MyRiver
  8. Железный человек
  9. Игра с джойстиком
  10. Светодиодные часы POV в аналоговом стиле