Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Проекты Fusion 360 »
В этой светодиодной матрице используются стандартные светодиодные ленты WS2812b для создания матрицы цилиндрической формы с красивой отделкой из деревянного шпона.
Список запчастей:
- Картон 790x384 1,5 мм (возможны и другие размеры, но данные САПР необходимо изменить)
- 100 светодиодов WS2812b из LED-лент (30 светодиодов / метр)
- Raspberry Pi или Arduino
- Шпон из микроволокна или любой гибкий диффузионный материал
- Провода
Шаг 1: Дизайн и файл для лазерной резки
Главный конструктивный параметр - это толщина используемого материала. В этой сборке был использован картон толщиной 1,5 мм, потому что его легко разрезать и он довольно дешевый. 3D-дизайн (например, Fusion360) помогает избежать проблем в процессе сборки. Для лазерной резки детали должны быть расположены таким образом, чтобы они подходили к области лазерной резки вашего станка, в данном случае 790x384 мм. Inkscape - простой и мощный инструмент для выполнения этой работы. Прикрепленный файл SVG содержит все детали цилиндрического дисплея из материала толщиной 1,5 мм.
ОБНОВЛЕНИЕ: я изменил модель Fusion360, указав толщину параметра пользователя, поэтому вы можете изменить толщину материала для матрицы и создать свой собственный файл для лазерной резки. Вскоре появятся прорези для светодиодных лент.
Ссылка на модель:
Шаг 2: лазерная резка и предварительная сборка
После лазерной резки вы получите следующие детали:
- 12 горизонтальных сегментов С-образной формы
- 18 гребенчатых вертикальных сегментов
- 2 вертикальных соединительных сегмента
- 20 светодиодных несущих сегментов
8 C-образных форм, 9 гребней и 1 соединение объединены в половину дисплея. На этом этапе детали соединяются друг с другом только для проверки, все ли подходят друг другу. Клей пока не используйте.
Шаг 3: Подключение светодиодов
Светодиодные ленты разрезаются на 5 светодиодных сегментов и приклеиваются к несущим сегментам с помощью липкой ленты с обратной стороны. Сначала контакты DI (вход данных) и DO (выход данных) полос соединяются зигзагообразно, соединяя DO первой полосы с DI следующей полосы и так далее. Это делается для каждой половины цилиндра, включая 10 полос. 5V и GND подключены только с одной стороны от полосы к полосе. Длина проводов должна соответствовать расстоянию зачистки массива.
Перед установкой светодиодов в матрицу необходимо склеить сегменты матрицы для каждой половины цилиндра.
Наконец, по 10 полосок помещают в каждую половину матрицы и фиксируют горячим клеем. DO одной половины подключается к DI второй половины. DI первой половины будет входом для Raspberry Pi или Arduino.
Шаг 4: Первый тест
Чтобы убедиться, что все работает, следует провести первую проверку светодиодов. Самый простой способ сделать это - использовать Arduino и библиотеку Neopixel.
Шаг 5: Деревянный диффузор из шпона
После измерения диаметра и высоты матрицы деревянный шпон можно было вырезать и наматывать на матрицу. Для фиксации достаточно прозрачной клеевой полосы.
Шаг 6: Raspberry Pi, Arduino и блок питания
Для простого кодирования на Python хороших матричных эффектов можно использовать Raspberry Pi. В этом случае использовался Raspberry Pi Zero, который подключен к матрице через вывод 18 GPIO через переключатель уровня 74HCT245 для адаптации 3,3 В от Pi к 5 В WS2812. Также используются большой конденсатор (2200 мкФ) и последовательный резистор (470 Ом), как это предлагается, при использовании большего количества светодиодов Neopixel / WS2812.
Источник питания
Максимальная мощность для 100 светодиодов WS2812b составляет 100x60 мА = 6 А. Конечно, за счет уменьшения яркости можно резко снизить энергопотребление. Убедитесь, что ваш блок питания 5 В может выдавать ток с желаемой яркостью.
Ардуино
Эта матрица напрямую работает на устройствах Arduino с библиотеками NeoPixel и NeoMatrix от Adafruit. Вам необходимо изменить PIN-код и инициализацию, если вы хотите использовать примеры:
Неоматрица:
Матрица Adafruit_NeoMatrix = Adafruit_NeoMatrix (20, 5, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800);
Вы также должны включить библиотеку Adafruit GFX и загрузить другой шрифт высотой 5 пикселей. Пожалуйста, используйте прикрепленный эскиз Arduino в качестве отправной точки (для матрицы используется PIN 4). Это адаптированная версия примера скетча Neomatrix.
NeoPixel:
Adafruit_NeoPixel strip = Adafruit_NeoPixel (100, PIN, NEO_GRB + NEO_KHZ800);
Шаг 7: Моделирование
Исходный код Python доступен на Github
Есть два режима кодирования. Если значение PI = False определено в начале файла cylid.py, код находится в режиме симуляции. Вы можете протестировать все анимации на любой платформе, на которой работает Python. Пожалуйста, сначала установите все библиотеки, которые используются программой (например, pygame, numpy и т. Д.). В режиме моделирования цилиндр отображается в виде матрицы 5x20 пикселей.
Шаг 8: программирование
Второй программный режим - это PI = True (определен в cyl.py) и запускается на Pi. Это управляет контактом 18 GPIO Raspberry Pi. Вы можете добавлять дополнительные эффекты и экспериментировать с параметрами.
Текст отображается шрифтом 3x5, поэтому не все буквы идеальны из-за ограниченной высоты отображения.
Наслаждаться!
Финалист конкурса Epilog X Contest