Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом руководстве объясняется, как создать аудиовизуализатор с Arduino Uno и некоторыми адресуемыми светодиодами. Это проект, которым я хотел заняться в течение некоторого времени, потому что я любитель звукового реактивного света. Эти источники света используют библиотеку FFT (быстрое преобразование Фурье) для вычисления пиков частоты, слышимых встроенным микрофоном, и отображают каждую частоту другим цветом.
Изначально я планировал включить кнопку и несколько альтернативных режимов отображения, но у меня не было возможности написать для этого код. Если у вас есть опыт работы с Arduino, вам не составит труда изменить мой код, включив в него другие анимации или даже другие цвета. Все, что вам нужно будет добавить, это кнопка с резистором 330 Ом.
Код:
STL:
Запасы
Elegoo был очень любезен и прислал мне базовый стартовый комплект Arduino для этого проекта! Вы захотите выбрать один, если вы новичок в Arduino или даже если вам просто нужны дополнительные общие детали: используйте партнерские ссылки для поддержки моего контента!
amzn.to/3fqEkIJ
Вот все остальное:
1/8 Фанера - Местный хозяйственный магазин.
Светодиодная лента (5 м 30 светодиодов / м) -
Акриловые листы -
Микрофон -
Провод -
Инструмент для зачистки проводов -
Пистолет для горячего клея -
Паяльник -
3D-принтер -
Нить накала -
Шаг 1: вырежьте основу и отшлифуйте акрил
Вырежьте из дерева квадрат размером 1 x 1 дюйм (или сопоставьте его по размеру с вашим акрилом). Это можно сделать с помощью циркулярной пилы или ручной пилы, если вы можете сохранить квадратные края, но проще всего это сделать с помощью торцовочной или настольной пилы.
Отшлифуйте акриловый лист с обеих сторон наждачной бумагой с низкой зернистостью, чтобы заморозить его. Это можно сделать шлифовальной машинкой или вручную. Избегайте наждачной бумаги с высокой зернистостью, потому что вы оставите на материале большие порезы, которые испортят законченный вид.
Шаг 2: Подключите светодиоды и микрофон
Разрежьте светодиодную ленту на 8 отрезков по 8 светодиодов. Прикрепите их к деревянной основе, равномерно расположив их в разных направлениях. Обратите внимание на стрелки, эти светодиодные ленты работают только в одну сторону. Припаяйте три выхода каждой полоски к трем входам следующей полоски. Подключите входы первой полосы к плате Arduino, если вы используете мой код, я использовал контакт 2 для данных.
Перед тем, как выключить паяльник, обязательно проверьте свои соединения с помощью примера скетча FastLED. Мне нравится использовать ColorPallets.
Это также хорошее время для подключения микрофона к Arduino. Подключите питание к выходу 3,3 В, а данные - к A0. Вы можете проверить это с помощью скетча с моей страницы GitHub.
Шаг 3. Загрузите код
Перед тем, как приклеить что-либо окончательно, важно протестировать эскиз с окончательной настройкой. Если что-то не сработает, исправить будет легче сейчас, чем позже. Написанный мною скетч можно найти здесь:
github.com/mrme88/Arduino-Audio-Visualizer/blob/master/FFT_Visualizer.ino
Откройте его в IDE Arduino и убедитесь, что все значения вверху рядом с операторами #DEFINE соответствуют вашей настройке. Как только эскиз загружен и работает правильно, можно переходить к последнему шагу.
Шаг 4: Окончательная сборка
Напечатайте на 3D-принтере четыре 1-дюймовых распорки, чтобы отделить акрил от светодиодов. Если у вас нет 3D-принтера, вы можете использовать что-нибудь еще, чтобы импровизировать эти распорки. Картон или деревянные блоки подойдут. четыре угла и приклейте Arduino и микрофон где-нибудь внизу, чтобы Arduino мог получать питание, а микрофон слышать шум.
При желании вы можете просверлить несколько отверстий в задней части для удобства настенного монтажа с помощью пары кнопок. В качестве альтернативы вы можете оставить это украшение на столе или прикрепить его к стене.
Наконец, приклейте горячим клеем акрил к распоркам в каждом углу и дайте ему высохнуть. Теперь у вас есть красивый светодиодный визуализатор, с помощью которого вы можете произвести впечатление на друзей или развлечь себя!