• Stars
    star
    174
  • Rank 219,104 (Top 5 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Цветомузыка на Arduino и WS2812b

PROJECT_PHOTO

Светомузыка на Arduino и WS2812b

Версии прошивки

  • 15.03.2018, colorMusic_v1.1:
    • Добавлена плавность режиму цветомузыки по частотам! Настройка SMOOTH_STEP
    • Добавлен режим стробоскопа с целой кучей настроек!
  • 16.03.2018 colorMusic_v2.0:
    • Добавлено управление с ИК пульта! Купить пульт можно по этой ссылке, цена вопроса 50р
    • 7 режим - Режим подсветки
    • 8 режим - Режим бегущих частот
    • 9 режим - Анализатор спектра (Версия 2.1)
    • У некоторых режимов появились подрежимы
    • Возможна работа БЕЗ потенциометра. Читайте ниже в инструкции по эксплуатации
  • 18.03.2018 colorMusic_v2.2:
    • Настройки сохраняются в память (энергонезависимую)
  • 19.03.2018 colorMusic_v2.3:
    • Улучшена производительность, почищен мусор
    • В 7 режиме радугу можно остановить и пустить вспять
  • 15.05.2018 colorMusic_v2.6:
    • Изменена библиотека ИК пульта, пульт работает без глюков
  • 28.09.2018  colorMusic_v2.7 (by Евгений Зятьков):
    • Настройка пульта внесена в скетч, тип пульта настраивается в IR_RCT
    • Добавлена поддержка Arduino Mega и Pro Micro
    • Исправлены мелкие баги

Описание проекта

Крутейшая свето- цветомузыка на Arduino и адресной светодиодной ленте WS2812b
Управление:

  • Однократное нажатие кнопки: смена режима
  • Удержание кнопки: калибровка нижнего порога шума

Режимы работы (переключаются кнопкой):

  • VU meter (столбик громкости): от зелёного к красному
  • VU meter (столбик громкости): плавно бегущая радуга
  • Светомузыка по частотам: 5 полос симметрично
  • Светомузыка по частотам: 3 полосы
  • Светомузыка по частотам: 1 полоса
  • Стробоскоп (Версия 2.0)
  • Подсветка (Версия 2.0)
  • Бегущие частоты (Версия 2.0)
  • Анализатор спектра (Версия 2.1)

Особенности:

  • Плавная анимация (можно настроить)
  • Автонастройка по громкости (можно настроить)
  • Фильтр нижнего шума (можно настроить)
  • Автокалибровка шума при запуске (можно настроить)
  • Поддержка стерео и моно звука (можно настроить)
  • Поддержка ИК пульта (Версия 2.0)
  • Лента не гаснет полностью (Версия 2.0)
  • Настройки сохраняются в памяти (Версия 2.2)
  • Подробности в видео: https://youtu.be/nu31By9Phdc

Папки

ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию

  • libraries - библиотеки проекта. Заменить имеющиеся версии
  • firmware - прошивка для Arduino, нужный в папке открыть в Arduino IDE (инструкция)
  • schemes - схемы подключения

Схемы

Обычная

SCHEME

С микрофоном

SCHEME

Материалы и компоненты

Ссылки оставлены на магазины, с которых я закупаюсь уже не один год

Вам скорее всего пригодится

Как скачать и прошить

  • Первые шаги с Arduino - ультра подробная статья по началу работы с Ардуино, ознакомиться первым делом!
  • Скачать архив с проектом

На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

  • Установить библиотеки в
    C:\Program Files (x86)\Arduino\libraries\ (Windows x64)
    C:\Program Files\Arduino\libraries\ (Windows x86)
  • Подключить Ардуино к компьютеру
  • Запустить файл прошивки (который имеет расширение .ino)
  • Настроить IDE (COM порт, модель Arduino, как в статье выше)
  • Настроить что нужно по проекту
  • Нажать загрузить
  • Пользоваться

Управление с ИК пульта:

  • Цифры (1 - 9) активируют режимы
  • Цифра 0: калибровка шума
  • Звёздочка (*): включить/выключить систему
  • Решётка (#): смена подрежима
  • Кнопка ОК: переключение между локальными и глобальными настройками)
  • Глобальные настройки (горит светодиод на плате):
    • Влево/вправо: яркость
  • Локальные настройки (у каждого режима свои):
    • 1 - Шкала громкости (градиент)
      • Стрелки ← →: плавность анимации
    • 2 - Шкала громкости (радуга)
      • Стрелки ← →: плавность анимации
      • Стрелки ↑ ↓: скорость радуги
    • 3 - Цветомузыка (5 полос)
      • Стрелки ← →: плавность анимации
      • Стрелки ↑ ↓: чувствительность
    • 4 - Цветомузыка (3 полосы)
      • Стрелки ← →: плавность анимации
      • Стрелки ↑ ↓: чувствительность
    • 5 - Цветомузыка (1 полоса)
      • Стрелки ← →: плавность анимации
      • Стрелки ↑ ↓: чувствительность
      • Подрежимы #: 3 частоты / низкие / средние / высокие
    • 6 - Стробоскоп
      • Стрелки ← →: плавность вспышек
      • Стрелки ↑ ↓: частота вспышек
    • 7 - Цветная подсветка
      • Стрелки ← →: цвет
      • Стрелки ↑ ↓: насыщенность
    • 8 - “Бегущие частоты”
      • Стрелки ← →: скорость
      • Стрелки ↑ ↓: чувствительность
      • Подрежимы #: 3 частоты / низкие / средние / высокие
    • 9 - Анализатор спектра
      • Стрелки ← →: шаг цвета
      • Стрелки ↑ ↓: цвет

НАСТРОЙКА НИЖНЕГО ПОРОГА ШУМА (строки 65-71)

  • Ручная: выключаем AUTO_LOW_PASS и EEPROM_LOW_PASS, настраиваем LOW_PASS и SPEKTR_LOW_PASS вручную
  • При запуске: включаем AUTO_LOW_PASS. При подаче питания музыка должна стоять на паузе!
  • По кнопке: при удерживании кнопки 1 секунду настраивается нижний порог шума (музыку на паузу!)
  • Из памяти (ЛУЧШИЙ ВАРИАНТ): выключаем AUTO_LOW_PASS и включаем EEPROM_LOW_PASS
    • Включаем систему
    • Ставим музыку на паузу
    • Удерживаем кнопку 1 секунду
    • Значения шумов будут записаны в память и САМИ загружаться при последующем запуске! Всё!

Настройки в коде

// лента
#define NUM_LEDS 120        // количество светодиодов
#define BRIGHTNESS 230     // яркость (0 - 255)

// пины
#define SOUND_R A2         // аналоговый пин вход аудио, правый канал
#define SOUND_L A1         // аналоговый пин вход аудио, левый канал
#define SOUND_R_FREQ A3    // аналоговый пин вход аудио для режима с частотами (через кондер)
#define BTN_PIN 3          // кнопка переключения режимов (PIN --- КНОПКА --- GND)
#define LED_PIN 12         // пин DI светодиодной ленты
#define POT_GND A0         // пин земля для потенциометра

// настройки радуги
#define RAINBOW_SPEED 6    // скорость движения радуги (чем меньше число, тем быстрее радуга)
#define RAINBOW_STEP 6     // шаг изменения цвета радуги

// отрисовка
#define MODE 0              // режим при запуске
#define MAIN_LOOP 5         // период основного цикла отрисовки (по умолчанию 5)
#define SMOOTH 0.5          // коэффициент плавности анимации VU (по умолчанию 0.5)
#define SMOOTH_FREQ 0.8     // коэффициент плавности анимации частот (по умолчанию 0.8)
#define MAX_COEF 1.8        // коэффициент громкости (максимальное равно срднему * этот коэф) (по умолчанию 1.8)
#define MAX_COEF_FREQ 1.2   // коэффициент порога для "вспышки" цветомузыки (по умолчанию 1.5)

// сигнал
#define MONO 1              // 1 - только один канал (ПРАВЫЙ!!!!! SOUND_R!!!!!), 0 - два канала
#define EXP 1.4             // степень усиления сигнала (для более "резкой" работы) (по умолчанию 1.4)

// нижний порог шумов
int LOW_PASS = 100;         // нижний порог шумов режим VU, ручная настройка
int SPEKTR_LOW_PASS = 40;   // нижний порог шумов режим спектра, ручная настройка
#define AUTO_LOW_PASS 0     // разрешить настройку нижнего порога шумов при запуске (по умолч. 0)
#define EEPROM_LOW_PASS 1   // порог шумов хранится в энергонезависимой памяти (по умолч. 1)
#define LOW_PASS_ADD 13     // "добавочная" величина к нижнему порогу, для надёжности (режим VU)
#define LOW_PASS_FREQ_ADD 3 // "добавочная" величина к нижнему порогу, для надёжности (режим частот)

// режим цветомузыки
#define LOW_COLOR RED       // цвет низких частот
#define MID_COLOR GREEN     // цвет средних
#define HIGH_COLOR YELLOW   // цвет высоких

FAQ

Основные вопросы

В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

В: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.

В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/

В: Компьютер никак не реагирует на подключение Ардуины!
О: Возможно у тебя зарядный USB кабель, а нужен именно data-кабель, по которому можно данные передавать

В: Ошибка! Скетч не компилируется!
О: Путь к скетчу не должен содержать кириллицу. Положи его в корень диска.

В: Сколько стоит?
О: Ничего не продаю.

Вопросы по этому проекту

Полезная информация

More Repositories

1

GyverLibs

РЕПОЗИТОРИЙ АРХИВИРОВАН. ВСЕ БИБЛИОТЕКИ ТЕПЕРЬ НАХОДЯТСЯ ЗДЕСЬ https://github.com/GyverLibs
C++
441
star
2

GyverLamp

Лампа-будильник на адресных светодиодах и esp8266
C
204
star
3

Arduino_Ambilight

Динамическая фоновая подсветка монитора своими руками на Arduino
C++
152
star
4

GyverLamp2

Огненная лампа v2
C++
148
star
5

nRF24L01

Модули беспроводной связи nRF24L01, настройка и примеры
C++
142
star
6

GyverCore

Быстрое ядро для Arduino IDE
C
125
star
7

GyverControl

Универсальный контроллер для умной теплицы
C++
93
star
8

EnglishProjects

Projects with English langulage description
C++
93
star
9

PCdisplay

Экран с параметрами железа ПК и автоматический реобас
C#
86
star
10

WS2812_FX

Эффекты для адресной ленты WS2812
C++
77
star
11

GyverTwink

Гирлянда на адресных светодидоах и esp8266, управление по WiFi
C++
77
star
12

tutorials

Примеры к урокам
C++
72
star
13

GyverMatrixBT

Матрица адресных светодиодов, управляемая по Bluetooth
C++
72
star
14

MeteoClock

Домашняя метеостанция на Arduino
C++
68
star
15

GyverMatrixWiFi

Матрица адресных светодиодов с WiFi
C++
61
star
16

GyverMOD

Вейп Боксмод на Ардуино
C++
61
star
17

NixieClock_v2

Часы на газоразрядных индикаторах и Arduino версия 2
C++
57
star
18

GyverBrick

Программа для создания карты для сборки картинки из лего-деталек
Java
51
star
19

AlexGyver

48
star
20

AC_Dimmer

Диммер переменного тока на Ардуино
C
46
star
21

MoneyBox_counter

Распознаватель монет со счётчиком суммы и прочей статистикой
C++
45
star
22

LEDcube

8x8x8 LED cube on Arduino
C++
44
star
23

alexgyver.github.io

Repo for GitHub Pages
JavaScript
43
star
24

GyverSaber

Световой меч на Arduino
C++
43
star
25

WebLamp

Парные лампы со связью через Интернет на esp8266
C++
41
star
26

GyverLight

Светильник с различными эффектами на Arduino
C++
40
star
27

GravityPixels

Матрица с пикселями, которые ведут себя как реальные тела
C++
40
star
28

ChristmasLights

Гирлянда на адресной ленте и Arduino
C++
39
star
29

FHTSpectrumAnalyzer

Анализатор спектра на Arduino (FHT) и светодиодной матрице
C
37
star
30

LEDstairs

Контроллер подсветки лестницы на Arduino
C++
34
star
31

crypto

Processing
33
star
32

GyverDrink

Наливатор на Arduino
C++
33
star
33

Bitmaper

Программа для преобразования изображений в bitmap
JavaScript
33
star
34

GyverKIT

Стартовый Ардуино-набор
C++
31
star
35

Auto_Pump_Sleep

Энергоэффективный автополив на Digispark
C++
30
star
36

POV_display

Вращающийся светодиодный дисплей на Arduino и WS2812
C
30
star
37

FireFX

Огненные эффекты на светодиодной ленте
C++
28
star
38

imageProcessor

Программа для преобразования изображений в битмап код
Processing
28
star
39

BluetoothCar

Машинка на Arduino с управлением по Bluetooth и FPV
C++
26
star
40

MecanumBot

Платформа на всенаправленных колёсах
C++
26
star
41

WeatherPredict

Предсказатель погоды на Arduino
C++
26
star
42

GyverRGB

Крутой контроллер для RGB светодиодной ленты на Arduino
HTML
25
star
43

ALight_by_KARMAN

Компактный Ambilight на STM32
C
24
star
44

NixieClock

Часы на газоразрядных индикаторах и Arduino NANO
C++
24
star
45

LEDmask

Медицинская маска со светодиодами и Arduino
C++
23
star
46

GyverString

Бегущая строка на Arduino
C
23
star
47

autoHumidifier

Автоматический увлажнитель воздуха на Arduino
C++
23
star
48

Remote_pyro_control

10 канальный пиропульт на Ардуино и модулях nRF24L01
C++
21
star
49

Arduino_speedometer

Arduino based speedometer
C++
21
star
50

POV_Serial

POV stick with Serial control (via Bluetooth)
C
21
star
51

DigiSand

Цифровые песочные часы на Arduino
C++
20
star
52

BendeRadio

Интернет-радио в форме головы Бендера
C++
19
star
53

Auto-Pumps

Многоканальный автополив на Arduino
C++
19
star
54

RangeMeter

Ультразвуковой дальномер на Arduino
C++
18
star
55

Dawn-Clock

Будильник-рассвет на Arduino
C++
18
star
56

GyverLCDbars

Графики и полосы загрузки для LCD дисплеев
C++
17
star
57

ServoClock

7-сегментные часы на сервоприводах
C++
17
star
58

SDreader

Читалка текста с SD карты на OLED дисплей
C++
17
star
59

YouTube_widget

Виджет счётчик подписчиков YouTube
C++
16
star
60

AmbiSensor

Динамическая фоновая подсветка для любого телевизора
C++
16
star
61

GyverFeed2

Автоматическая кормушка на Arduino
C++
16
star
62

Aim-Fan

Самонаводящийся вентилятор на Arduino
C++
16
star
63

WS2812_painter

Рисуем светом на ленте WS2812
HTML
15
star
64

SegmentMonitor

Графический дисплей из 7 сегментных индикаторов
C
15
star
65

GRIx4_by_KARMAN

Часы на ГРИ и STM32 от Дмитрия Карманова
C
14
star
66

GyverWheel

Руль для компьютера на Arduino
C
14
star
67

MetallDetector-Arduino

Металлоискатель на Arduino
C++
13
star
68

HyperGyver

Гиперкуб на Ардуино
C++
13
star
69

Electro_lock

Электронный замок на Ардуино
C++
13
star
70

Optical_Tachometer

Оптический тахометр на Arduino
C++
12
star
71

microPong

Микро игровая консоль с игрой Pong
C++
12
star
72

webcamStream

C
12
star
73

COVID19

Симуляция вируса на Arduino и Processing
C
12
star
74

PitchShifter

Модулятор голоса на Arduino
C++
11
star
75

myLibraries

Дамп моих библиотек
C
11
star
76

Thermocontrol

Регулятор вентилятора на Arduino
C++
10
star
77

ArmTank

Танк с манипулятором на Arduino
C++
10
star
78

GyverTripper

Сигнализация-сворачиватель окон на ATtiny85
C++
10
star
79

MerryGyver

Цифровой ёлочный шар
C++
10
star
80

MagicGyver

ЧПУ станок из "Волшебного экрана"
C++
10
star
81

SlowDance_Gyver

SlowDance - рамка, ожилвяющая растения
C++
10
star
82

automaticTrashcan_v2

Автоматическое мусорное ведро на Ардуино, часть 2
C++
10
star
83

DinoDuino

Проходим динозаврика Ардуиной
C++
9
star
84

LightControl

C++
9
star
85

morzePrikols

Скетчи к видео про передачу лазером
C++
9
star
86

AiFrame

Фоторамка с нейросетью
C
8
star
87

GestureSpeaker

Bluetooth колонка с управлением жестами
C++
8
star
88

GyverBomb

Имитация бомбы из CS, с паролем, таймером, пищалкой и электрозапалом
C++
8
star
89

PCdisplay_v2

Отображение ресурсов компьютера на светодиодных кольцах
C++
8
star
90

TachoLED

C++
8
star
91

randomGame

Повторение сгенерированной случайно последовательности нажатий кнопки
C++
7
star
92

RC_Turrel

Радиоуправляемая ракетная турель с FPV
C++
7
star
93

DropMagic

Левитация капель воды на Arduino
C++
7
star
94

3dpov

3D голограмма на Arduino
C++
7
star
95

schemeImages

Картинки для создания схем в Photoshop и Paint.NET
7
star
96

SecretKnockLock

Замок с "секретным стуком" на Arduino
C++
7
star
97

GyverFeed

C++
7
star
98

Smooth_start

Плавный пуск на Arduino
C++
7
star
99

GunGame

Пистолет-контроллер с игрой на Javascript
C++
7
star
100

RingMusic

Светомузыка для светодиодных колец
C++
7
star