Как сделать светомузыку своими руками? Закатите новогоднюю вечеринку и поразите своих друзей удивительными музыкальными цветными огнями, которые зажигаются и меняют цвет в такт музыке. Эти огни – не что иное, как простые светодиодные RGB-ленты, подключенные к электронному мозгу – контроллеру Arduino.
![](https://img.masterclub.online/gs/cdn.instructables.com/FVL/BZ71/IIRPJM7O/FVLBZ71IIRPJM7O.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F46/JBQ9/IIOWR7LC/F46JBQ9IIOWR7LC.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F2Y/QYYC/IIOWR7HT/F2YQYYCIIOWR7HT.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F26/8S2D/IIOWR7JM/F268S2DIIOWR7JM.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FXI/QOQU/IIOWR7HP/FXIQOQUIIOWR7HP.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FND/SKUO/IIOWR7IB/FNDSKUOIIOWR7IB.LARGE.jpg)
Вы можете установить светодиодные ленты в любом месте в доме или даже на улице. Использовать цветомузыку можно не только во время вечеринок, но и при повседневном прослушивании музыки. Приклейте светодиодные ленты хоть к телевизору, хоть к дивану, к столу или стенам – куда захотите. Единственное условие – рядом должен присутствовать источник звука: аудио-сигнал, который будет подаваться на цветомузыкальную установку (ЦМУ) и обрабатываться устройством.
Как уже говорилось, для приема аудио сигнала, обработки и вывода его через цифровые выходы на светодиодные ленты, используется контроллер Arduino. Для питания платы Arduino и светодиодных лент, применяется источник питания 12 В. Устройство имеет входной и выходной аудио разъем. От входного разъема, сигнал поступает на контроллер Arduino и выходное гнездо, для подключения к нему наушников или динамиков. Проект может быть выполнен в течение двух часов (максимум трех) из легкодоступных компонентов. Вы очень удивитесь, увидев конечный результат проекта (фотографии не передают всей его красоты).
Вот короткое видео домашней цветомузыки в действии:
пожалуйста укажите корректную ссылку
Приступаем к реализации цветомузыки на Ардуино!
Шаг 1: Как это работает?
![](https://img.masterclub.online/gs/cdn.instructables.com/FYF/R32K/IIOWR7I0/FYFR32KIIOWR7I0.LARGE.jpg)
Прежде, чем начать осуществление проекта, разберемся с принципом работы установки. Можно просто слепо следовать инструкциям, а можно изучить работу устройства, что гораздо интереснее.
Светодиодная лента, подключенная к устройству, загорается и меняет свой цвет всякий раз, когда на Arduino поступает громкий звук. Так как аудио-сигнал очень слабый, он подается на аналоговый вывод Arduino, который чувствителен даже к очень слабым электрическим сигналам. Теперь, когда на входе появляется сигнал высокой амплитуды (выше определенного порога), контроллер реагирует на него.
Когда такой сигнал зафиксирован, Arduino меняет цвет RGB-ленты на любой случайный. Следует отметить, что контроллер Arduino не управляет светодиодной лентой напрямую. Он отправляет сигналы на транзисторные ключи, которые и включают светодиоды. Причина заключается в том, что сигналы с выводов Arduino имеют напряжение 5 В, в то время как для работы светодиодных лент требуется 12 В.
Шаг 2: Компоненты и инструмент
![](https://img.masterclub.online/gs/cdn.instructables.com/FKY/DXFT/IIOWR6I7/FKYDXFTIIOWR6I7.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F21/GH38/IIEYRQ0V/F21GH38IIEYRQ0V.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FZU/CYX9/IIOWR6LC/FZUCYX9IIOWR6LC.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FI2/G9DH/IIOWR6LQ/FI2G9DHIIOWR6LQ.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FWC/FA22/IIOWR7BL/FWCFA22IIOWR7BL.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FAP/FTN4/IIOWR6LG/FAPFTN4IIOWR6LG.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F96/9P1A/IIOWR6LO/F969P1AIIOWR6LO.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FY9/CQYN/IIOWR6XT/FY9CQYNIIOWR6XT.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FZV/P9TH/IIOWR6M5/FZVP9THIIOWR6M5.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FHS/JFH9/IIOWR794/FHSJFH9IIOWR794.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FTR/96UH/IIEYRQ66/FTR96UHIIEYRQ66.LARGE.jpg)
Следующие компоненты и инструмент необходимы для осуществления этого проекта. Общая стоимость проекта составляет 30 долларов США. Эта сумма может меняться в зависимости от того, где вы приобретаете материалы. Длина светодиодной ленты зависит от ваших потребностей.
Компоненты для самодельной цветомузыки:
- Контроллер Arduino Nano или UNO (или же любая другая аналогичная плата).
- RGB светодиодная лента (длина на ваш выбор).
- Три NPN-транзистора (TIP31C, TIP122 или любой аналогичный).
- Два аудио разъема 3,5 мм.
- Три резистора номиналом 1 кОм.
- Два кабеля AUX (для подключения ЦМУ к аудиовыходу).
- Один 12-вольтный блок питания (можно использовать аккумулятор).
- Штыревые контакты для установки на плату.
- Провода.
- Подходящий корпус.
- Текстолитовая печатная плата с готовыми отверстиями.
Инструмент:
- Паяльник.
- Паяльная проволока (припой).
- Пистолет для термо-клея с клеевыми стержнями.
- Дрель.
- Кусачки, инструмент для зачистки проводов.
- Плоскогубцы.
Шаг 3: Подготовительные работы
![](https://img.masterclub.online/gs/cdn.instructables.com/FVP/D4GX/IIOWR6ZC/FVPD4GXIIOWR6ZC.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FGO/NH10/IIOWR6Y6/FGONH10IIOWR6Y6.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FGJ/4N1R/IIOWR6YE/FGJ4N1RIIOWR6YE.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FF7/6VV7/IIOWR6YG/FF76VV7IIOWR6YG.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FHZ/5TEJ/IIOWR6YX/FHZ5TEJIIOWR6YX.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F01/TO6J/IIOWR6YR/F01TO6JIIOWR6YR.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F03/QG9Q/IIOWR6Z7/F03QG9QIIOWR6Z7.LARGE.jpg)
Подготовим корпус для установки в него компонентов. Сначала нужно выбрать тип корпуса и его размеры. Самый простой способ – использовать пластиковый контейнер для еды, так как с пластиком легко работать. Не рекомендуется использовать металлический корпус, так как его придется полностью изолировать во избежание короткого замыкания.
Чтобы просверлить отверстия, используйте дрель. Вам нужно сделать четыре отверстия: одно – для провода электропитания, одно – для выводов светодиодной ленты, два – для аудио-разъемов. При работе с электроинструментом, используйте средства защиты. Отверстия также можно прожечь раскаленным гвоздем или проковырять ножом.
Шаг 4: Паяем контроллер светодиодов
![](https://img.masterclub.online/gs/cdn.instructables.com/FQM/SY1I/IIOWR6M7/FQMSY1IIIOWR6M7.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FJY/E0W4/IIEYRQDO/FJYE0W4IIEYRQDO.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FMS/L735/IIEYRQDT/FMSL735IIEYRQDT.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FGN/PARS/IIOWR6M8/FGNPARSIIOWR6M8.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FOE/2SI9/IIOWR6MH/FOE2SI9IIOWR6MH.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FUF/QXA4/IIRPJOWV/FUFQXA4IIRPJOWV.LARGE.jpg)
Это важный шаг. Вам нужно распаять схему ключей управления светодиодными лентами, на которые будут поступать сигналы от контроллера Arduino. Такая схема необходима, поскольку выходное напряжение выводов платы Arduino составляет всего 5 В, а светодиодной ленте для работы требуется не менее 12 В. Схема состоит из трех силовых транзисторов, которые работают как ключи: при поступлении слабого сигнала на базу транзистора, он открывается, подавая напряжение, достаточное для питания светодиодных лент. Каждым цветом полосы (красным, зеленым и синим) управляет отдельный транзистор.
Прежде чем приступить к пайке, изучите схему, приведенную выше. Обратите внимание, что на плату припаиваются два штыревых разъема с четырьмя контактами – для подключения светодиодной ленты и для соединения с контроллером Arduino.
Еще один двойной штыревой разъем – для подачи напряжения 12 В на плату Arduino. Наконец, припаяйте винтовые клеммы для подключения источника питания к плате. Использование штыревых разъемов и винтовых клемм не обязательно, но это лучший вариант, чем просто припаять провода. Это позволит легко отключить или подключить соединения.
Шаг 5: Делаем шилд для Arduino
![](https://img.masterclub.online/gs/cdn.instructables.com/FR0/LALI/IIOWR6LB/FR0LALIIIOWR6LB.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FEK/KOHX/IIOWR6LW/FEKKOHXIIOWR6LW.LARGE.jpg)
Следующим шагом будет создание шилда для Arduino, который поможет соединить все компоненты, хотя делать его необязательно. Для контроллера Arduino UNO такой шилд не понадобится. Основное предназначение шилда – возможность в любой момент вносить необходимые изменения в соединениях проводов без необходимости пайки. Это также позволит загружать код в контроллер Arduino, отключив его от шилда.
Вы можете спаять такой шилд по фотографии выше. Он состоит из печатной платы на которой распаяны гнезда для подключения контроллера Arduino и штыревые разъемы, соответствующие каждому выводу контроллера. Еще потребуется припаять несколько штырьков для подключения выводов 5 В и GND, так как они используются очень часто. Вы сможете применить данный шилд в других проектах, просто отсоединив все провода-перемычки.
Шаг 6: Подключаем цепь к Arduino
![](https://img.masterclub.online/gs/cdn.instructables.com/FJG/KF43/IIOWR6MK/FJGKF43IIOWR6MK.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FRQ/Y7L9/IIOWR6OB/FRQY7L9IIOWR6OB.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F1F/XFCC/IIOWR6MP/F1FXFCCIIOWR6MP.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FN8/LQTA/IIOWR6Y0/FN8LQTAIIOWR6Y0.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FL2/X6VD/IIOWR6ZF/FL2X6VDIIOWR6ZF.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FPP/IT71/IIRPJOZU/FPPIT71IIRPJOZU.LARGE.jpg)
После того, как шилд и светодиодный контроллер будут готовы, подключим их друг к другу. Вначале установите плату Arduino на шилд. Теперь, используя несколько монтажных проводов с разъемами типа «мама-мама», соедините шилд и светодиодный контроллер по следующей схеме:
- Эмиттеры всех транзисторов соедините с «землей» (GND) контроллера Arduino.
- Базу транзистора 1 – с цифровым выводом 9 Arduino через резистор 1 кОм.
- Базу транзистора 2 – с цифровым выводом 10 Arduino через резистор 1 кОм.
- Базу транзистора 3 – с цифровым выводом 11 Arduino через резистор 1 кОм.
После этого, приклейте плату светодиодного контроллера, а также шилд с установленным контроллером Arduino внутри корпуса устройства.
Шаг 7: Устанавливаем входной и выходной аудио-разъемы
![](https://img.masterclub.online/gs/cdn.instructables.com/F0C/IKLJ/IIOWR6ZJ/F0CIKLJIIOWR6ZJ.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FL4/KA3D/IIOWR6ZK/FL4KA3DIIOWR6ZK.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FN2/ZG2B/IIOWR6ZM/FN2ZG2BIIOWR6ZM.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F1L/RTKH/IIOWR702/F1LRTKHIIOWR702.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FDC/8HDK/IIOWR70K/FDC8HDKIIOWR70K.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FJK/0R3W/IIOWR70X/FJK0R3WIIOWR70X.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FD1/P90Z/IIOWR710/FD1P90ZIIOWR710.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FYY/LMY1/IIOWR78W/FYYLMY1IIOWR78W.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F4G/1CKU/IIRPJOTQ/F4G1CKUIIRPJOTQ.LARGE.jpg)
Для подключения аудио-сигнала, нужен разъем. Кроме входного, сделаем выходной разъем, что позволит включать цветомузыкальную установку между источником звука и наушниками или динамиками. Входной разъем является обязательным атрибутом, а выходной – необязательным.
Любое современное аудиоустройство воспроизводит стереофонический звук, то есть имеет два канала: левый и правый. Наше устройство будет использовать сигнал только от одного канала, но на выходной разъем будут подаваться оба аудио-сигнала. Далее подключите схему так (терминология Википедии):
- Гильза разъема 1 (вход) – к гильзе разъема 2 (выход).
- Кольцо разъема 1 – к кольцу разъема 2.
- Кончик разъема 1 – к кончику разъема 2.
- Гильза разъема 1 – к «земле» (GND) платы Arduino.
- Кольцо разъема 1 – аналоговый вывод А0 Arduino.
После выполнения всех соединений, установите оба разъема в сделанных ранее отверстиях корпуса.
Шаг 8: Подключаем электропитание к установке
![](https://img.masterclub.online/gs/cdn.instructables.com/FHS/JFH9/IIOWR794/FHSJFH9IIOWR794.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FWM/4AIL/IIOWR797/FWM4AILIIOWR797.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FIH/I5AX/IIOWR79Q/FIHI5AXIIOWR79Q.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F7I/STBC/IIOWR7A2/F7ISTBCIIOWR7A2.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F2N/WYRJ/IIOWR7A3/F2NWYRJIIOWR7A3.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FDL/ZRBR/IIOWR7A4/FDLZRBRIIOWR7A4.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FPI/F99B/IIOWR7A9/FPIF99BIIOWR7A9.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FPZ/FCG2/IIOWR7AJ/FPZFCG2IIOWR7AJ.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F9I/WJOI/IIOWR7AO/F9IWJOIIIOWR7AO.LARGE.jpg)
На данном шаге у вас могут возникнуть трудности, если вам не удастся подобрать необходимый для проекта источник питания 12 В. Для питания ЦМУ требуется адаптер 12 В / 2 А. Адаптер, рассчитанный на максимальный ток 1 А, может не работать должным образом при использовании длинной светодиодной ленты, поскольку она будет потреблять большой ток.
Подсоедините провода от блока питания к винтовым клеммам контроллера. Питание будет подаваться не только на светодиоды, но и на контроллер Arduino. Контроллеры Arduino UNO и Arduino Nano имеют встроенный преобразователь напряжения 12 В – 5 В (который отсутствует в контроллере Arduino Pro Mini). С помощью соединительных проводов подключите положительный вывод от источника питания к выводу Vcc Arduino, а отрицательный – к GND Arduino.
Шаг 9: Подключаем светодиодную ленту к контроллеру
![](https://img.masterclub.online/gs/cdn.instructables.com/FEX/AGK1/IIOWR7AY/FEXAGK1IIOWR7AY.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FUM/49K2/IIOWR7B0/FUM49K2IIOWR7B0.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FOE/MLW3/IIOWR7B9/FOEMLW3IIOWR7B9.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F2R/KLXV/IIOWR7BC/F2RKLXVIIOWR7BC.LARGE.jpg)
Теперь вам нужно подключить RGB-светодиодную ленту к соответствующему разъему на контроллере. Убедитесь в том, что вы подключили ее правильно. Обрежьте ленту до необходимой вам длины и припаяйте провода к ее медным контактным площадкам, расположенным с задней стороны полосы.
При желании, можете удлинить провода ленты, если намереваетесь установить ее на большом расстоянии от устройства.
Шаг 10: Загружаем код
![](https://img.masterclub.online/gs/cdn.instructables.com/FHZ/XS56/IIOWR7BG/FHZXS56IIOWR7BG.LARGE.jpg)
Подключите контроллер Arduino к ПК и загрузите в него приведенный ниже скетч через приложение Arduino IDE. В разделе «Инструменты => Плата» выберите вашу плату, например, Arduino Nano, а в разделе «Инструменты => Порт» выберите номер COM-порта, к которому подключен контроллер. Если вы хоть немного разбираетесь в программировании, то легко сможете понять код скетча. Работает программа следующим образом:
- Проверяется, превышает ли аудио-сигнал установленный порог.
- Если нет, цикл повторяется снова, бесконечно проверяя уровень сигнала, пока условие не станет истинным.
- Если да, то генерируется случайное число от 1 до 6.
- В зависимости от сгенерированного числа, контроллер зажигает определенный цвет светодиодов.
- После задержки в 10 мс, программа продолжает свой цикл.
- Таким образом, всякий раз, когда звуковой сигнал превышает порог срабатывания, цвет светодиодной ленты меняется на случайный.
Вы можете изменить пороговое значение сигнала в цикле if(), а также изменить номера выводов, не забывая, однако, что все они должны работать в ШИМ-режиме. Вот код скетча:
/* Music Reactive Color Changing Lights Source code Made by- Saiyam Agrawal */ int threshold = 20; void setup() { pinMode(9, OUTPUT); // set all the pins as output pinMode(10, OUTPUT); pinMode(11, OUTPUT); } void loop() { // enter the loop if(analogRead(A0) > threshold) // check if audio signal goes above threshold { int a = random(1, 6); // store a random number if(a == 1) // glow red { digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW); } if(a == 2) // glow green { digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 0); } if(a == 3) // glow orange { analogWrite(9, random(100, 255)); analogWrite(10, random(100, 255)); digitalWrite(11, 0); } if(a == 4) // glow cyan { digitalWrite(9, 0); analogWrite(10, random(100, 255)); analogWrite(11, random(100, 255)); } if(a == 5) // glow purple { analogWrite(9, random(100, 255)); digitalWrite(10, 0); analogWrite(11, random(100, 255)); } if(a == 6) // glow blue { digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 1); } delay(20); // wait for 20ms } else digitalWrite(9, LOW); // if audio signal is less than 20, set all the pins low digitalWrite(10, LOW); digitalWrite(11, LOW); // again reach the top and start } Project_code.inoФайлы
Шаг 11: Финальные шаги – подключаем и любуемся
![](https://img.masterclub.online/gs/cdn.instructables.com/FBK/HPOP/IIOWR7IS/FBKHPOPIIOWR7IS.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FIX/AA9T/IIOWR7BM/FIXAA9TIIOWR7BM.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F6X/U0H1/IIOWR7BR/F6XU0H1IIOWR7BR.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F3L/C38L/IIOWR7GV/F3LC38LIIOWR7GV.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FYE/RV2F/IIOWR7H7/FYERV2FIIOWR7H7.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FUH/UQOK/IIOWR7HM/FUHUQOKIIOWR7HM.LARGE.jpg)
Итак, вы создали свою собственную цветомузыкальную установку! Теперь просто подключите к ней источник звука, включите хорошую музыку и любуйтесь как светящиеся в темноте огни меняют свой цвет в такт музыке. Ваши друзья наверняка будут завидовать вам. Светодиодные ленты можно приклеить практически в любом месте, сняв защитную пленку с задней стороны ленты.
Для настройки устройства понадобятся два кабеля AUX. Подключите один конец одного из кабелей к источнику звука (iPod, MP3-плеер, мобильный телефон, планшет, телевизор и т.д.), а другой конец – к разъему аудиовхода вашего устройства. Далее подключите выходной разъем к любым колонкам или наушникам (опционально). Включите музыку. Если светодиоды не загораются, увеличьте громкость. Если они загораются, но не гаснут, то уменьшите громкость.
Вот и все. Получайте удовольствия от своей цветомузыкальной установки.