Микрофон и Arduino

Подключение микрофона к Ардуино – несложная базовая процедура, которая позволит создать полноценные, очень увлекательные аудио проекты. В них вы можете задействовать устройства, которые будут переводить звуковой сигнал в цифровой, фиксировать наличие звука, измерять его громкость (ну а далее все зависит от ваших возможностей и предпочтений).
Микрофонный модуль (конденсаторный ∕ электретный микрофон) – девайс простой. Состоит обычно из компактной платы, на которой расположены порты подключения к контроллерам Ардуино (например, Nano). Там же имеется звуковой усилитель, резистор и электронный микрофон, особо чувствительный к звуку. К слову, регулятором чувствительности можно легко и просто настраивать чувствительность микрофона, а также решать, от какого уровня шума будет срабатывать ваш датчик в дальнейшем.
Подключение модуля выглядит следующим образом:
Конечно же мы рассмотрим несколько проектов, чтобы ознакомиться с практичностью применения подобного датчика. Начнем небольшой «разминки» – определим интенсивность звука. Для этой схемы подключения (смотрите скриншот ниже) нам понадобятся такие аппаратные компоненты:
- плата расширения Arduino UNO;
- датчик звука с микрофоном (типа KY-038);
- макетная плата;
- светодиод;
- резистор;
- перемычки.

Загружаем скетч для проверки работоспособности сборки:
int ledPin=13; int sensorPin=7; boolean val =0; void setup() < pinMode(ledPin, OUTPUT); pinMode(sensorPin, INPUT); Serial.begin (9600); >void loop () < val =digitalRead(sensorPin); Serial.println (val); // when the sensor detects a signal above the threshold value, LED flashes if (val==HIGH) < digitalWrite(ledPin, HIGH); >else < digitalWrite(ledPin, LOW); >>
Никаких особых библиотек мы не использовали – все супер-просто!
При желании можно собрать и настроить простейший эквалайзер. Обратите внимание на схему:

Пример программной прошивки:
const int micPin = A0; const int gPin = 12; const int yPin = 11; const int rPin = 10; void setup() < Serial.begin(9600); pinMode(gPin, OUTPUT); pinMode(yPin, OUTPUT); pinMode(rPin, OUTPUT); >void loop() < int mv = analogRead(micPin) * 5.0 / 1024.0 * 1000.0; // значения в милливольтах Serial.println(mv); // выводим в порт /* Пороги срабатывания светодиодов настраиваются вами экспериментальным методом: */ if (mv < 2100) < // порог срабатывания зелёного светодиода, мВ digitalWrite(gPin, HIGH); digitalWrite(yPin, LOW); digitalWrite(rPin, LOW); >else if (mv < 2125) < // порог срабатывания жёлтого светодиода, мВ digitalWrite(gPin, HIGH); digitalWrite(yPin, HIGH); digitalWrite(rPin, LOW); >else if (mv < 2150) < // порог срабатывания красного светодиода, мВ digitalWrite(gPin, HIGH); digitalWrite(yPin, HIGH); digitalWrite(rPin, HIGH); >>
А еще можно создать своими руками светильник, который будет включаться по хлопку в ладоши и много чего другого. Пробуйте, экспериментируйте!
Мы рассказали сегодня о том, как можно подключить датчик звука к Ардуино. Надеемся, информация была вам полезна! До скорой встречи!
Анализатор спектра звука
Для данного проекта потребуется LOL Shield. Приобрести его можно в Sparkfun, но можно сделать и самому. Печатная плата и схема в свободном доступе лежит здесь. LOLShield представляет из себя светодиодную матрицу размерностью 14 x 9, сделанную как шилд к Arduino. В LOL Shield применяется довольно оригинальный метод управления светодиодами, так называемый Charlieplexing. Данный шилд был разработан Джимми Роджерсом.
Для анализа аудио-сигнала используется метод FFT (быстрого преобразования Фурье), который раскладывает сигнал на частоты и затем при помощи контроллера отображает на LED-матрице. Описание библиотеки FFT можно найти на форуме Arduino. Быстродействия контроллера Arduino вполне хватает для вычислений FFT, поэтому каких-либо проблем с отображением не возникает. Итак, мы купили или собрали LOL Shield, затем припаиваем 3.5мм мини джэк (или другой разьем, который нужен вам для вашей аудиосистемы)
В LOL шилде свободны 2 пина: это аналоговые 4 и 5. Для входа аудиосигнала я использовал 5-ый пин. Общий от миниджека подключаем к пину GND. Программная часть Для скетча нам потребуется 2 библиотеки:
библиотека FFT
библиотека Charlieplexing для LoL шилда Алгоритм FFT разбивает звуковой диапазон на 64 частотных диапазона. Однако наш LOL Shield содержит матрицу 14 x 9 LED. Поэтому нам надо вывести среднее и переназначить 64 частотных диапазона в 14 (проще говоря сделать remap). Уровень мы также приводим к диапазону от 0 до 9. Код программы:
/* FFT for LoL Shield v0.9 by Andy Doro http://andydoro.com/ based on FFT library and code from the Arduino forums and the Charlieplexing library for the LoL Shield. */ #include Charliplexing.h #include fix_fft.h #define AUDIOPIN 5 // Аудиовход char im[128], data[128]; char data_avgs[14]; int i=0,val; void setup() < LedSign::Init(); //Инициализация LoL Shield >void loop() < for (i=0; i < 128; i++)< val = analogRead(AUDIOPIN); data[i] = val; im[i] = 0; >; fix_fft(data,im,7,0); for (i=0; i< 64;i++)< data[i] = sqrt(data[i] * data[i] + im[i] * im[i]); // this gets the absolute value of the values in the array, so we're only dealing with positive numbers >; // average bars together for (i=0; i // set LoLShield for (int x=0; x < 14; x++) < for (int y=0; y < 9; y++) < if (y < data_avgs[13-x]) < // 13-x reverses the bars so low to high frequences are represented from left to right. LedSign::Set(x,y,1); // включаем LED >else < LedSign::Set(x,y,0); // выключаем LED >> > >
Скетч, библиотеки и Eagle-файл PCB вы можете скачать внизу Оригинал статьи
- audio_spectrum.zip (89 Кб)
Теги:
Колтыков А.В.
Опубликована: 2012 г.
0
0
Вознаградить Я собрал 0 0
Оценить статью
- Техническая грамотность
Что такое Arduino: первые шаги в электронике
Что можно сделать на Ардуино и зачем это нужно? Разбираемся с популярной и дружелюбной платформой, которая позволяет быстро создавать умные электронные устройства своими руками.
Самодостаточная начинка

Arduino — это небольшая управляющая плата с собственным процессором и памятью. Помимо них на плате есть пара десятков контактов, к которым можно подключать всевозможные компоненты: светодиоды, датчики, моторы, чайники, роутеры, магнитные дверные замки и вообще всё, что работает от электричества.
В процессор Ардуино можно загрузить программу, которая будет управлять всеми этими устройствами по заданному алгоритму. Таким образом можно создать бесконечное количество уникальных классных гаджетов, сделанных своими руками и по собственной задумке.
Чтобы понять общую идею, взгляните на иллюстрацию. Она не отражает и миллионной доли всех возможностей, но всё же даёт первичное представление.
Простота и доступность
Платформа Arduino приобрела бешеную популярность благодаря простоте и дружелюбности. Даже полный ноль в программировании и схемотехнике может освоить основы работы с Ардуино за пару часов. Этому способствуют тысячи публикаций, учебников, заметок в интернете и отличная серия видеоуроков по Arduino на русском языке.

Программы для Ардуино пишутся на обычном C++, дополненным простыми и понятными функциями для управления вводом-выводом на контактах. Если вы уже знаете C++, Arduino станет дверью в новый мир, где программы не ограничены рамками компьютера, а взаимодействуют с окружающим миром и влияют на него. Если же вы новичок в программировании — не проблема, вы с лёгкостью научитесь, это просто.
Для удобной работы с платами Ардуино существует бесплатная официальная среда программирования Arduino IDE, работающая под Windows, Mac OS и Linux. С помощью неё загрузка новой программы в контроллер становится делом одного клика, только лишь подключите плату к компьютеру через USB. Хотя для более пытливых умов возможна работа и через Visual Studio, Eclipse, другие IDE или командную строку, а новичкам подойдёт визуальная среда программирования XOD IDE.
Вам не понадобится паяльник. Полноценные устройства можно собирать, используя специальную макетную доску, перемычки и провода абсолютно без пайки. Прототипирование ещё не было таким быстрым и простым, поэтому ардуинки быстро прижились в школах и кружках робототехники.
Принцип бутерброда

Ещё одной отличительной особенностью Arduino является наличие плат расширения под названием Shield. Эти «шилды» ставятся поверх ардуинки подобно слоям бутерброда и дают ей новые дополнительные возможности. Например, существуют платы расширения для подключения к локальной сети и интернету (Ethernet Shield), для управления мощными моторами (Motor Shield), для получения координат и времени со спутников GPS (приёмник GPS/ГЛОНАСС) и многие другие.
В итоге
Arduino — это сердце конструктора, в котором нет конечного, строго определённого набора деталей, и нет ограничений в разнообразии того, что вы можете из него собрать. Всё ограничено лишь вашей фантазией. Это новый мир, убойное хобби и отличный подарок. Свыше 10 миллионов людей в мире уже поняли это.
Взгляните лишь на несколько примеров того, что можно сделать на Ардуино. Ведь это грандиозно!
Картонный бот-очаровашка
Робот-паук
Генератор мыльных пузырей
Светодиодный куб
Графический эквалайзер
Система полива дачного участка
С чего начать
Вам понадобится сама плата. Например, Arduino Uno — самая популярная модель в настоящий момент. Для начала экспериментов её хватит с головой. Хотя если брать «на вырост», можно рассмотреть более мощную Arduino Mega 2560.
Также вам понадобится USB-кабель, макетная доска, перемычки, резисторы, транзисторы… и ещё десяток подручных вещей. Чтобы не утомлять себя поисками необходимого, возьмите всё, что потребуется, в виде одного из готовых наборов. Например, в наборах «Матрёшка Y» или «Матрёшка Z» мы собрали всё, что нужно для комфортного старта.
Исходник проекта
Началось все с того, что Alex Gyver создал лампу на матрице адресных светодиодов и arduino. Основная страница проекта Как и многие хорошие проекты, этот проект начал развиваться в сети и обрел множество поклонников. Программа имеет множество эффектов, будильник, и управляется со смартфона через приложение (см. в google market). Одна из доработок от Gunner47 оказалась очень удачной. Доработанный проект gunner47 Количество эффектов было увеличено до 26. и написано свое приложение. Вопросы можно задавать на форуме форуме. В эту прошивку я и решил добавить модуль MP3.
Краткое описание
Добавление позволяет добавлять звуковое сопровождение к лампе во время работы будильника, работы самой лампы и озвучивать текущее время по событиям.
Внешний вид моей сборки
Лампа была изготовлена из потолочного плафона и подставки под монитор. Крепление плафона осуществляется тремя держателями, поэтому возникла идея с тремя сенсорными кнопками.
|
|
|
|
| Подставка | Крепление матрицы | Сзади корпус от модем omni56K с открытой крышкой | Внешний вид |
Инструкция по звуку
в файле shaitan_var.h обязательные настройки
#define MP3_TX_PIN (14U) // artuinio TX mp3 player RX (D5) в случае отсутствия закоментировать #define MP3_RX_PIN (12U) // artuinio RX mp3 player TX (D6) #define count_mp3_folders (6U) // Количество папок 01 02 03
Для желающих дополнить озвучить, например, эффекты пламени звуком огня, в файле effectTicker.ino можно указать папку для проигрывания файлов на конкретном эффекте.
case EFF_FIRE: fireRoutine(true); mp3_folder=3; break; //Огонь case EFF_FIRE2012: fire2012WithPalette(); mp3_folder=4; break; //Водопад case EFF_CLOCK: ClockRoutine(WIDTH,HEIGHT,true); mp3_folder=0; break; //Часы без звука
Номер папки для звучания зависит от яркости эффекта «Громкость» через остаток от деления на количество папок.
Инструкция по дополнительным кнопкам
В случае отсутствия кнопок закоментируйте строку
#define MP3_TX_PIN (14U) // artuinio TX mp3 player RX (D5) в случае отсутствия заремить
в файле shaitan_var.h
Одиночное нажатие «play» переключает режим работы mp3 (Stop/Play/Auto) Одиночное нажатие «stop» проговаривает и показывает текущее время (проговаривает только при проигрывании фоновой музыки) Двойное нажание «play» или «stop» меняет папку воспроизведения Удерживание «stop» меняет громкость музыки Удерживание «play» меняет громкость голосовых подсказок
Дополнения по количеству эффектов
Взяв исходник приложения, и используя среду разработки ai2.appinventor.mit.edu было добавлено несколько эффектов в приложение.
Схема подключения MP3 модуля
(Очень рекомендую убрать управление ленты с D4) я перевел на D3
#define LED_PIN (0U) // пин ленты (0U — D3) (2U — D4)

Текущие коды управления с IR пульта
Цифровая клавиатура используется для ввода чисел
Ожидание нажатия следуюoщей цифры около 2 сек.
Стрелки поддерживают режим удержания
Обнаружен интересный эффект. Если нажать несколько раз (иногда до 15-20) обнаруживается, что на одну кнопку генерируется 2 кода, и в зависимости от датчика, один чаще, другой реже. Для более стабильного распознавания в IRrecv.ino коды прописаны парами.
Пульт с цифрами (верхний)
CH — включить/выключить
CH+ , CH- Предыдущий/Следующий эффект Prev/Next — Выбор папки для воспроизведения Play/Pause — Play/Stop/Auto EQ — переключение Яркость/Скорость/Масштаб/Громкость музыки/Громкость голоса +- — Увеличение/уменьшение Яркости/Скорости/Масштаба/Громкости музыки/Громкости голоса 100+ Показать время и отключить голос 200+ Показать время и включить голос Числовая команда 0-97 — выбор эффекта 0-96
98 — Случайная смена эффектов в избранном
1000-1255 — Яркость 0-255
2000-2255 — Скорость 0-255
3000-3100 — Масштаб 0-100
Работа с будильниками
901 — Включить все будильники
911-971 — Включить Будильник 91-Пн, 97-Вс
900 — Отключить все будильники
910-970 — Отключить Будильник 81-Пн, 87-Вс
Установка будильника : ДЧЧММ — день недели, часы, минуты
например 30630 — среда 6:30
10000-12359 — Будильник Понедельник
.
70000-72359 — Будильник Воскресенье
80000-82359 — Будильники Пн-Пт (все рабочие дни)
90000-92359 — Будильники Сб-Вс (Выходные)
100-130 — громкость 0-30
200-230 — громкость голоса для произношения времени
4000-4255 Яркость Рассвет 0-255
5000-5999 — Задать время работы будильника Sleep после сигнала (мин)
300-399 — Выбор папки для воспроизведения (300 без звука)
400-499 — Выбор папки для воспроизведения Рассвет (400 без звука)
500-599 — мин. Sleep (500 отключить Sleep, 501 — через минуту, 599 — 99 мин)
8888 – Вывести IP лампы
8880 — Сменить режим WiFi на точку доступа
8881 — Сменить режим WiFi на клиента
Пульт с WD Live Plus (нижний)
Power — включить/выключить
Enter — переключение яркость/скорость/масштаб
Влево/Вправо — изменение яркости/скорости/масштаба
Вверх/Вниз — Громкость
Stop — выключить MP3
Play/Pause — режим работы MP3: Play/Auto
REV/FF — изменение папки для воспроизведения
PREV/NEXT — изменение номера эффекта
Остались не задействованы:
HOME, Search, Eject, Back, Option
Если есть интересные идеи, пишите.
7/03/2020

Создан эффект часы effects—clock.ino. вызов : ClockRoutine(WIDTH,HEIGHT,true); цвет меток циферблата — радужный, цвет метки возле минутной стрелки стремится к цвету минутной стрелки. фон черный. Ширина, высота, требуется ли очистить экран; вызов : ClockRoutine(WIDTH,HEIGHT,false); цвет всех элементов — белый фон предыдущий. Примеры вызова с наложением case EFF_COLOR: colorRoutine(); ClockRoutine(WIDTH,HEIGHT,false); break; без наложения case EFF_новое: ClockRoutine(WIDTH,HEIGHT,true); break; для цилиндрических ламп наверно лучше будет case EFF_новое: ClockRoutine(10,16,true); break;
11/03/2020
Исправлены ошибки при работе с eeprom, влияющие на связь лампы с приложением, оптимизирован опрос DFPlayer.
Часы вставлены отдельным эффектом.
Начата работа с эквалайзером. Будет продолжена после приезда микрофона из Китая. Пока показывает шум на аналоговом пору A0. Для компиляции необходимо добавить библиотеку анализатора спектра звука fix_fft (есть в управлении библиотеками).
Приложение написано на 42 эффекта. (29-39) свободны для ваших экспериментов. (внутри архива).
11/03/2020
1)
В связи с тем, что многие используют прошивку без mp3 модуля, и жалуются на зависания, необходимо закоментироть строку в файле shaitan_var.h
//#define MP3_TX_PIN (14U) // artuinio TX mp3 player RX (D5) в случае отсутствия заремить
При наличии mp3 модуля, раскоментировать.
2)
Добавил строчки для приложения Koteyka
Приложение добавил в архив.
22/03/2020
Вернулся к базовой прошивке от Gunner47.
Добавил mp3.
Добавил множество эффектов от участников форума.
24/03/2020
Добавлены эффекты Меташарики, Синусоид 3, Спираль, Прыгающие мячики, Новый огонь
25/03/2020
Исправлены ошибки со скоростью.
изменены эффекты «Цвет» и «Смена цвета». Масштаб меняет насыщенность.
к звукам природы добавлены звук костра и шум дождя.
Обновлено приложение LedLamp_42.apk
26/03/2020
исправлена ошибка с запуском звука будильника в начале рассвета.
от начала до окончания рассвета сейчас используется папка 01 см. time.ino
mp3_folder=1; //Будильник из 1 папки
там же описано поведение лампы по окончанию рассвета.
//Запустить таймер на 30 мин
TimerManager::TimerRunning = true;
TimerManager::TimerHasFired = false;
TimerManager::TimeToFire = millis() + 30 * 60 * 1000;
// Включить определенный режим, Например облака
currentMode=EFF_CLOUDS;
// Включить режим избраннное
FavoritesManager::FavoritesRunning = true;
30/03/2020
Для проверки работоспособности идеи на D1 добавил инфракрасный приемник для управления лампой с пульта.
Добавилась библиотека IRremoteESP8266-master
Отдельно модуль управления по ИК в Constants.h вставить // —-ИК Управление #define IR_PIN (5U) // D1 Пин, куда подключет IR в setup() вставить #ifdef IR_PIN ir_setup(); #endif в loop() вставить #ifdef IR_PIN ir_loop(); #endif При использовании своих пультов, коды клавиш впишите свои, посмотрев в мониторе порта.
01/04/2020
При смене эффекта моментально переключает папку воспроизведения, а не дожидаясь окончания воспроизведения файла Отключать звук в еффекте можно указав папку 0 mp3_folder=0; Адаптация к приложению Koteyka с возможностью рисования и зачитывания списка эффектов из лампы. При отсутствии интернета плеер игнорирует время.
02/04/2020
Корректировка скорости на 3D эффектах. Уменьшение времени доступа к DFPleer. Нарисованная картинка в приложении хранится в памяти лампы до перезагрузки и используется в эффекте «Блуждающий кубик», который адаптирован под цилиндр.
03/04/2020
Убрал эффект матрица, заменив его эффектом радужный дождь. Добавил на 36-е место дождь с возможностью изменения цвета и звука. В красных тонах звук огня, в синих-дождя.
05/04/2020
Добавил эффект «Салют» Эффект адаптирован под цилиндр. Если Вы используете незамкнутую лампу, инвертируйте коментарий в файле effects—shaitan.ino DrawCircleCylinder(SaluteX, SaluteY, SaluteR, SaluteColor-CHSV(0, 0, SaluteR*64)+CHSV(0, SaluteR*32, 0)); //Использовать для цилиндрических ламп // drawCircle(SaluteX, SaluteY, SaluteR, SaluteColor-CHSV(0, 0, SaluteR*64)+CHSV(0, SaluteR*32, 0)); добавлены кнопки управления IR пультом * — Предыдущий эффект # — Следующий эффект
08/04/2020
Добавил бегущую строку. Изменил обращение к дополнительным кнопкам. без mp3 не тестировалась.
27/04/2020
Нарисованная картинка сохраняется в EEPROM и не пропадает при выключении. При наличии картинки она используется в эффекте «Блуждающий кубик». Добавлен эффект «Cтая». В приложении LedLamp_42.apk обновлен список эффектов. Добавлен микрофон. Теперь в эффекте «Настройка громкости» при достаточной громкости что то подобное цветомузыке.
05/05/2020
Добавлено 5 эффектов из прошивок хороших людей с форума Огонь 2018 Призмата Тучка в банке Гроза в банке Осадки Переделан модуль пульта, и желающие могут легко добавлять свои кнопки и свои пульты. Обновил приложение
19/05/2020
Обновлен модуль пульта. Добавлен пульт от WD (на али можете сделать поиск «WD Live Plus Пульт») При изменении рисуются пиктограмки и вводимые числа
21/05/2020
Добавлен эффект «Дым» от участника форума Сотнег. Убрано зависание при отсутствии модуля DF Player при попытке прочесть количество mp3. Убрано мерцание в бегущей строке. Оптимизированы шкалы скорость и масштаб на некоторых эффектах. В связи с увеличением количества эффектов, при первой загрузке сбросятся будильники и настройки эффектов. Новое приложение LedLamp_49.apk внутри архива. В приложении от Koteyka обновите список.
31/10/2020
Добавлено 10 эффектов из прошивок хороших людей с форума Kyбик Pyбикa ДHK 3мeйки Mячики бeз гpaниц Пoпкopн Moтыльки Лaмпa c мoтылькaми Жидкaя лaмпa Жидкaя лaмпa (auto) Пpыгyны Переработан IR пульт, Добавлено много фич (см. IRrecv.ino) Добавлена возможность настраивать будильник: (яркость, папку с мелодиями и время автоотключения после будильника) Добавлено управление через приложение Blynk (см. приложение в маркете для android и apple) Добавлена возможность посылать команды через строку приложения Koteyka
1/11/2020
Оптимизированно управление через Blynk

2/11/2020
Добавлено 4 эффекта из прошивок хороших людей с форума Оптимизированно управление через Blynk, исправлена ошибка режима «Цикл» Добавлена возможность загружать список эффектов в приложение Blynk (команда load в бегущей строке)
2/11/2020
Продолжена работа с Blynk. Добавилась работа с будильниками и циклом.
5/11/2020
Продолжена работа с Blynk. Добавлена работа с циклом. Добавлено 3 эффекта из прошивок хороших людей с форума Заменен режим «Новый огонь», на «Огонь 2020» В архиве инструкции по управлению. Управление_IR.txt Управление через строку.txt
15/11/2020
Переработана работа с будильником в Blynk. Теперь в конце списка дополнительно присутствуют 7 будильников, где бегунками можно выставить время будильника, и включить или выключить. не забудьте перечитать список командой load. Изменены диапазоны скорости в эффектах. (необходимо перечитать список в приложении Koteyka.
12/12/2020
Добавил управление через HTTP. Пока в стадии тестирования и дополнения. В браузере достаточно зайти по адресу лампы.
20/12/2020
Работа с управлением по HTTP
Исправил ошибки, изменил дизайн, добавил функционал.
для подключения в файле Constants.h //#define HTML_REMOTE (1) // раскомментируйте эту строку, если вы используете управление по http
08/01/2021
Прошивка адаптирована под новое приложение Koteyka
добавлено управление громкостью из приложения на смартфоне, используя клавиши — качалки
Время берется со смартфона и ntp сервера.
21/01/2021
Исправлены недочеты.
Убран freez при недоступности NTP сервера.
Разделены звуки дождя и океана.
Обновилась коллекция MP3.
27/01/2021
Исправлены недочеты.
Цвет вывода времени с IR пульта зависит от времени суток. Ночью исключен синий цвет.
Управление через HTTP адаптировано под разные браузеры.
16/01/2022
Исправлены недочеты.
Добавлены эффекты.
Изменены некоторые коды для IR пульта.
Добавлена возможность изменять размер матрицы через WEB для использования прошивки для оконной сетки.
#define MIN_WIDTH (8U) // ширина матрицы
#define MIN_HEIGHT (8U) // высота матрицы
#define MAX_WIDTH (17U) // ширина матрицы
#define MAX_HEIGHT (17U) // высота матрицы
uint8_t WIDTH = 16; // ширина матрицы
uint8_t HEIGHT = 16; // высота матрицы
Прошивка корректно работает с приложениями от Koteyka и со старым (с пятачком) и с новым (красно-зеленым)
27/01/2022
В эффекте Громкость добавлен эквалайзер
Видео результата
27/01/2022
Эффекты Громкость и Эквалайзер разделены.
Убран эффект «Tyчкa в бaнкe», Оставлен «Гроза» в котором молния зависит от микрофона.
вместо тормознутого analogRead(A0) используется system_adc_read_fast