РадиоЛоцман

Цветодинамическая система «MUSICCOLOR»

Страница 3 из 4
Новичок
 
Аватар для yallay
 
Регистрация: 23.06.2014
Сообщений: 23
Репутация: 28
 
31.03.2026 20:59 #21

CMU MUSICCOLOR эффекты

новая прошивка , новые эффекты
Новичок
 
Аватар для yallay
 
Регистрация: 23.06.2014
Сообщений: 23
Репутация: 28
 
01.04.2026 13:39 #22

CMU "MUSICCOLOR" прошивка

MUSICCOLOR — это профессиональная музыкальная светомузыка на базе STM32

• 15 высококачественных визуальных эффектов
• Реактивный анализатор спектра с продвинутым AGC и шумоподавлением
• Поддержка 5 и 10 зон эквалайзера
• Статические и динамические палитры с премиум-цветами
• Профессиональный эффект CHASER III с 4 паттернами:
— Classic
— Larson Scanner
— Multi-Wave
— Ping-Pong

Особенности:
• Управление через энкодер + OLED-дисплей 128×64
• Bluetooth управление (Android/iOS приложение)
• Сохранение всех настроек и параметров эффектов во внешнюю Flash-память
• Автоматическая калибровка микрофона
• Демо-режим
• Поддержка до 300 адресных светодиодов WS2812B
Вложения
Тип файла: zip STMicroelectronics.stm32.GenF4.zip (271.2 Кб, 0 просмотров)
Новичок
 
Аватар для yallay
 
Регистрация: 23.06.2014
Сообщений: 23
Репутация: 28
 
13.04.2026 11:33 #23

CMU"MUSICCOLOR" + микрофон INMP441

Замена аналогового микрофона на цифровой ! Переход SAMPLES с 128 на 256. Изменены пины подключения

микрофон
#define I2S_WS_PIN PA2
#define I2S_SCK_PIN PA3
#define I2S_SD_PIN PA0

#define BOARD_LED PC13

энкодер
#define ENC_A PB8
#define ENC_B PB9
#define ENC_SW PB10
лента
#define LED_PIN PA1
флешка
#define W25Q_CS_PIN PA4
остальное все стандартно. Все для новой прошивки .
Еще дам тестовый скетч для подключения INMP441 , еще та зараза!

#include <Arduino.h>
#define I2S_SCK_PIN PB13
#define I2S_WS_PIN PB12
#define I2S_SD_PIN PB15
#define LED_PIN PC13

float currentGain = 2.5f;

void setup() {
delay(1500);
Serial.begin(115200);

pinMode(I2S_SCK_PIN, OUTPUT);
pinMode(I2S_WS_PIN, OUTPUT);
pinMode(I2S_SD_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);

digitalWrite(LED_PIN, HIGH);

Serial.println(">>> INMP441 DIAGNOSTIC v3 - Aggressive Mode <<<");
}

int32_t readINMP441() {
int32_t val = 0;

digitalWrite(I2S_WS_PIN, LOW);
delayMicroseconds(3);

for (int i = 0; i < 32; i++) {
digitalWrite(I2S_SCK_PIN, HIGH);
delayMicroseconds(1);
if (i < 24) {
val <<= 1;
if (digitalRead(I2S_SD_PIN)) val |= 1;
}
digitalWrite(I2S_SCK_PIN, LOW);
delayMicroseconds(1);
}

digitalWrite(I2S_WS_PIN, HIGH);

for (int i = 0; i < 32; i++) {
digitalWrite(I2S_SCK_PIN, HIGH); delayMicroseconds(1);
digitalWrite(I2S_SCK_PIN, LOW); delayMicroseconds(1);
}

val >>= 8;
if (val & 0x800000) val |= 0xFF000000;

return val;
}

void loop() {
long sumAbs = 0;
int32_t maxAbs = 0;

for (int i = 0; i < 40; i++) {
int32_t sample = readINMP441();
int32_t absVal = abs(sample);
sumAbs += absVal;
if (absVal > maxAbs) maxAbs = absVal;
}

float avgAbs = (float)sumAbs / 40.0f;
float level = avgAbs * currentGain;

// === Управление LED ===
if (level > 800) { // очень низкий порог для теста
digitalWrite(LED_PIN, LOW); // LED ON
int flash = map(level, 800, 40000, 600, 12000);
flash = constrain(flash, 400, 15000);
delayMicroseconds(flash);
digitalWrite(LED_PIN, HIGH); // LED OFF
} else {
digitalWrite(LED_PIN, HIGH);
}
// Вывод каждые 80 мс
static uint32_t last = 0;
if (millis() - last > 80) {
Serial.print("AvgAbs: ");
Serial.print((int)avgAbs);
Serial.print(" | Gain: ");
Serial.print(currentGain, 2);
Serial.print(" | Level: ");
Serial.print((int)level);

if (level > 800) Serial.print(" ← LED should blink");
Serial.println();
last = millis();
}
delayMicroseconds(150);
}
Вложения
Тип файла: zip STMicroelectronics.stm32.GenF4.zip (208.7 Кб, 0 просмотров)
Новичок
 
Аватар для yallay
 
Регистрация: 23.06.2014
Сообщений: 23
Репутация: 28
 
20.05.2026 14:06 #24

CMU "MUSICCOLOR" с железом все...

С железом закончил.
Описание
CPU STM32F411CE ,Микрофон INMP441 (I2S + DMA).
Анализ звука FFT 256 точек.
Hamming window. Эффекты 15 полноценных эффектов. 5 или 10 независимых частотных (для 300 диодов) зон.
Управление: Поворотный энкодер + кнопка + Bluetooth.
Память 25L1605D Flash — сохранение настроек и пресетов эффектов.
Дисплей Цветной TFT 320×240, ID 0X7575 8347D(от старинного, китайского айфона 4G)
Дополнительно Автокалибровка шума, BPM-детекция, Randomizer, Ambient-подсветка, Эквалайзер 5 зон, Индикация уровня 5-10 зон на заставке, Меню — 26 параметров
Технические особенности
Оптимизировано под STM32 (DMA, аппаратный энкодер TIM2, прямые регистры)
Высокая производительность — стабильные ~30–45 FPS
Умная обработка звука:
AGC (автоматическая регулировка усиления)
Адаптивный шумодав
Частотные профили (Balanced, Bass Heavy и др.)
Гамма-коррекция и анти-алиасинг
и еще много всего...
Изменения в настройке пинов:
Дисплей
RD_PIN PA8
WR_PIN PA9
CD_PIN PA10
CS_PIN PA11
RESET_PIN PA12
D0 -> PB0
D1 -> PB1
D2 -> PB2
D3 -> PB4
D4 -> PB6
D5 -> PB7
D6 -> PB8
D7 -> PB9

ws2812b через 100Ом PA15

25L1605D Flash CS_PIN PA4 на борту платы STM32F411CE

Энкодер любой
ENC_A PA0
ENC_B PA1
ENC_SW PB10

BOARD_LED через 300ОМ PC13 индикация микрофона.

Микрофон
I2S_WS_PIN PB12 // LRCK
I2S_SCK_PIN PB13 // BCK
I2S_SD_PIN PB15 // DATA

Влютуз BT-04a аппаратный- Serial2

сборка проекта занимает максимум 2 часа

Демо ролики...


Вложения
Тип файла: zip STMicroelectronics.stm32.GenF4.zip (228.4 Кб, 0 просмотров)
Знаток
 
Регистрация: 06.01.2010
Адрес: Львов
Сообщений: 299
Репутация: 176
 
31.05.2026 16:40 #25
Очень интересный проект!
Жаль, что закрытый. Было б интересно обсудить общие принципы - не FFT, не вывод на ленту через DMA, и не прочие нюансы, а именно принципы, как извлечь из музыки максимум информации для управления светом. Имеется в виду не только амплитуда и мгновенная частота в каждом канале, но и динамика изменения амплитуды в каналах, динамика изменения соотношения частотных составляющих спектра, анализ изменений ритма, и всякие прочие вещи, которые можно было бы придумать. Мне кажется, подобное обсуждение было бы интересным и полезным. Однако при всём этом я понимаю и сложность - это такая область, где сложно описать словами идеи по обработке. И к тому же желательно сразу пробовать новые идеи "в железе", что подразумевает уже ведущуюся работу над проектом, а у меня всё никак не получается за это взяться - мелкая рутина затягивает. В целом мне кажется, что совместными усилиями, обсуждая общие принципы, можно ещё дальше развить этот проект или ему подобные.
Новичок
 
Аватар для yallay
 
Регистрация: 23.06.2014
Сообщений: 23
Репутация: 28
 
12.06.2026 10:03 #26
Цитата:
Сообщение от Guaho
Очень интересный проект!
Жаль, что закрытый. Мне кажется, подобное обсуждение было бы интересным и полезным.
Согласен, подобное обсуждение было бы интересным и полезным. В связи с тем ,что эту тему, давненько ,перестали обсуждать и поддерживать. Много информации просто исчезло с закрытием сайтов. Возникновение огромного количества профессионального и не профессионального оборудования снижает желание делать, что то самому. Но для домашнего использования, это очень дорого, да и нет тех функций ,которые востребованные в этом разрезе. Мой проект стоимостью до 20$, считаю очень актуален и доступен для повторения. Его мощь доступна, для разработок всяких новшеств, фантазий и решений в сфере светодинамических устройств. На данный момент делаю третью версию устройства, с более доступным и недорогим дисплеем IPS TFT ST7789V 240х320, еще проще собрать устройство. Так же будет использована более объемная и быстрая флешка 25Q64. Уже переработан весь код, добавлено множество улучшений и новшеств. Прямо сейчас занимаюсь возникшей проблемой, влияния звуков, не входящих в спектр усиления АРУ, но влияющих на усиление общего сигнала. Думаю, к концу недели выложу новую версию проекта.
Новичок
 
Регистрация: 16.08.2026
Сообщений: 1
Репутация: 10
 
16.08.2026 14:06 #27
И что с проектом? Заглохло?
Новичок
 
Аватар для yallay
 
Регистрация: 23.06.2014
Сообщений: 23
Репутация: 28
 
16.08.2026 15:57 #28
Продолжаем улучшать CMU все переработано , модернизирован код, для стабильной и простой настройки ЦМУ переведен на аналоговый микрофон. Качество не упало , снизилась нагрузка на ЦПУ на 20 %!(непонятно...). Добавлено влияние цифры на многие эффекты, цифровая стабилизация уровней каналов. Огромно, визуально поднялся эффект смотрибельности ! Проверено на делении ленты на 5-10 частей (фонарями)и параллельного добавления 2-4 лент. Очень смотрибельно на плафонах широких светильников. Неделю улучшений нет. Финал будет в следующую пятницу-воскресенье.
Знаток
 
Регистрация: 06.01.2010
Адрес: Львов
Сообщений: 299
Репутация: 176
 
22.08.2026 13:04 #29
Смотрибельность улучшилась после введения независимых АРУ в каждом канале?
Новичок
 
Аватар для yallay
 
Регистрация: 23.06.2014
Сообщений: 23
Репутация: 28
 
24.08.2026 14:41 #30
Ответ
Страница 3 из 4
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Часовой пояс GMT +3, время: 02:08.
Обратная связь РадиоЛоцман Вверх

Политика конфиденциальности