Ардуино цветомузыка своими руками ver. 2
Всем привет!
Учитывая популярность предыдущей статьи про цветомузыку я решил сделать вторую версию.
Основной упор был сделан на то, чтобы упростить схему, так как прошлая версия требовала сборки усилительного каскада на транзисторе, а также его настройки и это для многих явилось препятствием.
Для второй версии цветомузыки я решил использовать доступный к покупке модуль микрофона со встроенным усилителем на микросхеме MAX9814. Он обладает большим усилением 60 дБ и автоматической регулировкой усиления(АРУ). В коде так же были внесены программные улучшения.
В новой версии цветомузыки, добавил несколько световых эффектов и два светильника с регулировкой яркости все тем же потенциометром. Режим выбирается как и раньше кнопкой Pattern, то есть в схеме не будет изменений. И даже у того кто собрал первую версию цветомузыки, все дополнения тоже будет работать после перепрошивки, без каких либо изменений в схеме.
Код написан под схему с делителем из двух резисторов на ARef и для правильной работы аналогового входа в старой схеме, нужно в процедуре void setADCFreeRunning() закомментировать или удалить строку // analogReference(EXTERNAL); и раскомментировать строку ADMUX |= _BV(REFS0);
Все режимы перебираются как и раньше кнопкой “Pattern”
Белое свечение – это все режимы которые относятся к цветомузыке.
Красное свечение – это режим цветомузыки с рандомным переключением режимов. Синие свечение – это режимы бегущих огней, последние два из них светильники. Яркость некоторых режимов регулируется потенциометром. Помните, что чувствительность в отличие от регулировки яркости увеличивается против часовой стрелки. Если потенциометр на минимуме, то для для регулировки чувствительности аудио входа это максимум, а для регулировки яркости это минимум.
Схема цветомузыки
Требуемые компоненты
Arduino Nano
Светодиодная лента на WS2812B
Микрофон MAX9814
Потенциометр 20кОм
Код для Ардуино
В архиве вложены дополнительные библиотеки. Устанавливать их не требуется, важно, что бы они лежали в папке со скетчем
Скачать Ардуино скетч для цветомузыки
34 комментария
В файле 2 папки...
Скетч и эффек.
Как их загрузить в Ардуино???
Спасибо
Заказ №112421. Купил 8 микросхем SIM800L, 3 из них оказались нерабочими, отправил назад, 27 февраля 2021г. продавец принял их и до 11 апреля так и не вернул средства.
В Роспотребнадзор направил информацию, чтобы других не пытались обманывать!
Остерегайтесь таких продавцов!
Жена не любит цветомузыкальные эффекты, а я люблю.
Зато просто плавную подсветку "а ля ночник" любим оба.
Есть такой режим - чтобы просто без музыки мягко и спокойно переливались цвета?
Жена не любит цветомузыкальные эффекты, а я люблю. Зато просто плавную подсветку "а ля ночник" любим оба.
Есть такой режим - чтобы просто без музыки мягко и спокойно переливались цвета?
Как уже писал, проект повторил. Всё работает отлично, спасибо! Хотелось бы узнать, можно ли увеличить количество светодиодов до 300 (то есть 5м ws2812 по 60 шт. на 1м)? Если возможно, то что надо поменять в sketch?
Не получается у меня... Прощелкиваю режимы цветомузыки, потом прощелкиваю режимы подсветки, и далее опять только подсветка... Режимов цветомузыки нет... Подскажите, куда скинуть видео, как у меня работает?
и для правильной работы аналогового входа в старой схеме, нужно в процедуре void setADCFreeRunning()
закомментировать или удалить строку // analogReference(EXTERNAL);
и раскомментировать строку ADMUX |= _BV(REFS0);", "EXTERNAL" это "внешний", нет ли здесь ошибки если использовать внешний источник опорного напряжения?
^~~~~~~~~~~~~~~~~
D:\101\Arguino\duino_light_show\LightShow.ino: In function 'void configure()':
D:\101\Arguino\duino_light_show\LightShow.ino:1401:6: error: redefinition of 'void configure()'
void configure()
^~~~~~~~~
D:\101\Arguino\duino_light_show\duino_light_show.ino:1502:6: note: 'void configure()' previously defined here
void configure()
^~~~~~~~~
D:\101\Arguino\duino_light_show\LightShow.ino: In function 'void test()':
D:\101\Arguino\duino_light_show\LightShow.ino:1480:6: error: redefinition of 'void test()'
void test() //диагностика ленты при первом включении питания и настройка уровня срабатывания АЦП
^~~~
D:\101\Arguino\duino_light_show\duino_light_show.ino:1580:6: note: 'void test()' previously defined here
void test() //диагностика ленты при первом включении питания и настройка уровня срабатывания АЦП
^~~~
Compilation error: exit status 1
D:\101\Arguino\duino_light_show\LightShow.ino: In function 'void test()':
LightShow:1480:6: error: redefinition of 'void test()'
void test() //диагностика ленты при первом включении питания и настройка уровня срабатывания АЦП
^~~~
D:\101\Arguino\duino_light_show\duino_light_show.ino:1580:6: note: 'void test()' previously defined here
void test() //диагностика ленты при первом включении питания и настройка уровня срабатывания АЦП
^~~~
exit status 1
conflicting declaration 'typedef struct peak_t peak_t'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
uint8_t baseColor;
uint8_t age;
uint8_t magnitude;
uint8_t rnd;
} peak_t;
#define DEBUG //режим отладки
#define N_BANDS 8 //число светодиодов для индикации в режиме настройки яркости
#define N_FRAMES