LED-башня «Цилиндр»: программируемое RGB-искусство из 288 APA106
Компоненты и материалы
- APA106 программируемые RGB LED, 8 мм — 288 шт. (12 колец × 24 LED)
- Arduino UNO — 1 шт.
- МГТФ / луженая медная проволока 0.5 мм² (22 AWG) — для шины питания и данных
- Металлические кольца D=8 дюймов (≈203 мм) — 12 шт. (основа каждого круга)
- Акриловые стержни D=6–8 мм, L=12 дюймов (≈305 мм) — 10 шт. (стоечки башни)
Инструменты
- Паяльник (40+ Вт, лучше 60–80 Вт — кольца массивные)
- Клеипистолет (горячий клей)
- BlueTack (клейкая масса для временной фиксации)
- Накладные радиаторы-крокодилы (для защиты LED при пайке)
- Тиски, плоскогубцы, отвертки
ПО
- Arduino IDE
- Библиотека FastLED (через менеджер библиотек)
Концепция и конструкция
Вдохновение — кривые пересечения цилиндра и плоскости. Башня — 12 колец диаметром 8″ (203 мм), каждое 24 LED (шаг ≈1″ по окружности). Кольца стоят на расстоянии 1″ (25 мм) друг от друга, образуя цилиндр 12″ высотой. Акриловые стержни (6 шт.) жестко связывают кольца в башню.
Почему APA106? Встроенный драйвер — 2 провода данных (DIN/DOUT), нет мультиплексирования, нет сдвиговых регистров. Яркие, удобные. Пик тока — 60 мА/LED (17 А на 288!), но на 10% яркости ~1.7 А, USB справляется. Рекомендую блок 5V/2A+.
Изготовление одного кольца
- Формовка выводов LED по шаблону: земля (короткий) согнут крючком для удобства пайки к кольцу, данные — прямые.
- Разметка кольца на 24 равных сегмента. Закрепите кольцо вертикально (обсуждение — самодельный приспособление из тисков/доски).
- Пайка LED к кольцу: предварительно припояйте кольцо (оно массивное, нужно 5–10 сек на точку при 40Вт). Используйте радиаторы-крокодилы на выводах LED! Пайте землю к кольцу, данные — цепочкой DIN→DOUT.
- Силовая шина: выпрямите 660 мм луженой проволоки, припаяйте ко всем VCC LED кольца параллельно.
- Тест кольца: подайте данные на DIN (пин 6 UNO) тестовым скетчем. Исправляйте холодные пайки СЕЙЧАС.
Сборка башни
- Сделайте 12 колец. Используйте первое кольцо как шаблон для остальных: DIN каждого следующего кольца должен быть в одной точке, чтобы колонны LED совпадали.
- Соберите нижние 4 кольца: 스페йсеры 22 мм (3D-печать или деревянные чурки) + BlueTack для фиксации.
- Приклейте 6 акриловых стержней горячим клеем к кольцам (между LED, 4 LED между стержнями). Всё выровняйте идеально перед клеением — потом нельзя изменить!
- Снимите 스페йсеры, добавьте следующие кольца, соедините питание (все 12 колец параллельно) и данные.
- Две линии данных: нижние 6 колец → пин 6 UNO, верхние 6 → пин 7. На 8-м кольце на одной линии появились глюки — разделение решило проблему.
Программное обеспечение (FastLED)
FastLED выбрана за: встроенную поддержку APA106, быструю математику, 256-шаговую палитру, удобные фейды, обширные пресеты.
Ключевые функции кода
setColor(row, col, color)— установить цвет LED по кольцу (row 0–11) и позиции (col 0–23). Сама считает, в какой линии данных (пин 6 или 7) и какой индекс в цепочке.- Палитра:
#define RED CRGB::Redи т.д. — удобные имена вместоCRGB::HotPink. setHue(row, col, hue)— цвет по HSV (0–255).rotate(ring, dir)— циклический сдвиг содержимого кольца на 1 шаг. Комбинируя — волны, спирали.- Таблицы в PROGMEM: пересечение цилиндра с плоскостью (18 углов × высоты) и со сферой. Не едят RAM.
Три скетча в архиве
- RingTest — проверка одного кольца на пине 6.
- QuickShow — 45-секундный превью.
- FullShow — 8-минутное шоу из 16 эффектов/анимаций.
Баг и workaround: после множества циклов программа виснет (утечка стека/памяти). В конце loop() добавлен софтовый ресет (asm volatile ("jmp 0") или WDT) — неэлегантно, но работает.
Схема
Фото результата
Производственный процесс
- Технология ветряных турбин: история, дизайн и будущее влияние
- Сделай свой LUMAZOID: DIY Arduino музыкальный визуализатор
- Игра «UFO Attack» на Arduino UNO и матрице MAX7219 — Собираем аркаду с джойстиком Atari
- Создание рулетки на 37 светодиодов с Arduino Nano
- Проект Arduino: мелодия Coffin Dance — сборка и воспроизведение вирусного трека
- 3D RGB Arduclock — Bluetooth-часы на адресных LED с RTC
- Мониторинг состояния реки: Arduino-система контроля качества воды
- Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
- Интерактивная игра с джойстиком и LED-обратной связью на Arduino
- Аналоговые POV-часы на Arduino Nano: персистенция зрения с 17 светодиодами