ESP, IoT Интернет-радио в форме головы Бендера. Обсуждение проекта.

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,046
406
Москва
wan-derer.ru
Ветка обсуждения проекта Интернет-радио в форме головы Бендера
Страница проекта на AlexGyver.ru: https://alexgyver.ru/benderadio/
Видео:

Делитесь своими вариантами изготовления, модификациями и улучшениями!
=========================================================================
ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

V1ad

★✩✩✩✩✩✩
7 Ноя 2023
42
21
Предлагаю перенести обсуждение субж. из https://alexgyver.ru/benderadio/ на форум.
Я сделал форк прошивки Алекса и внес некоторые изменения. Проект сконфигурирован под VSCode.
Ссылка на форк: https://github.com/vladT0/BendeRadio
Изменения и часто задаваемые вопросы внесены в README.md

Часто задаваемые вопросы:
1) Матрицы заказывать только с общим катодом.
2) В списке "Железки со схемы" не указан энкодер для Arduino. Ключевые слова для поиска на али:
Rotary Encoder Module for Arduino.
3) Винты на M4 необходимо брать длинной 60mm, а не 50mm как было указано в видео.
4) Если при компиляции оригинальной прошивки не находит GyverMax7219.h, заменить на
GyverMAX7219.h.
5) Можно использовать ESP32 c 30 PINs, а не с 38, как указано по ссылке.
6) Уровень свиста сильно зависит от яркости матриц. При понижении яркости до минимально помех практически не
слышно даже без добавления конденсаторов.
7) По схеме не CMD, а GND. Исправленная схема тут:

PCM5101.jpg
8) ЦАП : ОЧЕНЬ ВАЖНО ! У многих платы приходят с не запаянными мостами, как было к примеру и у меня.
На задней стороне (не компонентная сторона) расположены 4 набора по 3 площадки для 4 функций:
FLT - выбор фильтра: нормальная задержка (LO) / низкая задержка (HI)
DEMP - управление De-emphasis для частоты дискретизации 44,1 кГц: Off (LO) / On (HI)
XSMT - Управление мягким приглушением звука (Soft Mute)(1): Soft Mute (LO) / без Soft Mute (HI)
FMT - Выбор формата аудио: I2S (LO) / Выровненное по левому (HI)
Центральная площадка подключена к соответствующему выводу. Каждая из этих площадок может быть соединена припоем с высоким (HI) или низким уровнем (LO) (или иными словами контакты подключены к +3,3 В / 0 В).

Примеры распайки:
1, 2 и 4 - LO, и 3, соединенный HI, т.е. фильтр с нормальной задержкой, де-эмфазис 44,1 кГц отключен, soft-mute не применяется, аудиоформат I2S).

Нормальный фильтр - это FIR с хорошим откликом, задерживающий сигнал примерно на 500us (при 44,1 кГц), что должно быть нормально. Быстрый фильтр - это IIR с немного худшим откликом, задерживающий сигнал примерно на 80us. Очень немногие (если вообще есть) источники звука имеют предварительный эмфазис, поэтому DEMP должен быть низким. Вывод XSMT позволит отключить звук на выходе через GPI (если удалить паяльный мост). ESP32 поддерживает битовый поток I2S, поэтому FMT должен быть низким.

Отдельное пояснение из WIKI для любознательных, я сам не знал как это работает, по функции DEMP:

В обработке сигналов предэмфаза (pre-emphasis)- это техника, используемая для защиты от ожидаемого шума. Идея заключается в усилении (и, следовательно, искажении) частотного диапазона, наиболее подверженного шуму, заранее, чтобы после процесса с шумом (передача по кабелю, запись на ленту и т. д.) из этого частотного диапазона можно было извлечь больше информации. Устранение искажений, вызванных pre-emphasis, называется De-emphasis, что позволяет точнее воспроизводить оригинальный входной сигнал.
9) Как заметил Ivan Gri, встречаются платы управления матрицами, где IN находится слева, а OUT справа. Будьте внимательны при распайке.


1705528327383.png
 
Изменено:

Signalmren

✩✩✩✩✩✩✩
29 Окт 2023
5
6
При запуске в прошивку надо добавить инициализацию PCM5102. На моей ESP-12 WROOM при сбросе питания не было звука.
 

V1ad

★✩✩✩✩✩✩
7 Ноя 2023
42
21
@Signalmren,
В самом начале метода core0 стоит инициализация и ядро 0 инициализируется первой строчкой.

Много статей в инете, где утверждается что ядро 0 медленее в ESP32 чем ядро 1. Но если это так, то эта задержка только усугубит проблему, т.к.
код в основном цикле на ядре 1 ( audio.loop() ) может потенциально выполниться раньше чем аудио будет инициализированно. Но у вас наоборот помогает. По хорошему loop можно запускать только когда прошли все иниты.
 
  • Лойс +1
Реакции: Combat

maloir

★✩✩✩✩✩✩
14 Сен 2019
91
25
Внесу и свою часть лепты в проект. Надеюсь кому сгодится. Встречал записи, где люди жалуются, что матрицы живут своей жизнью, у меня такая же проблема была.. Что бы это исправить и что бы этого не было, мне помогло так. Если отключить Бендера от питани и снова включить, матрицы начинают жить своей жизнью, не делайте так. Делать надо так, что бы этого не было.
1 Сначала отключаем энкондером, одно нажатие на энкондер и только потом отключаем от питания
2 Включаем питание и включаем энкондером.
Матрицы рабатают как надо. Но если просто отключить питание и затем включить, то матрицы сами по себе. Надеюсь это кому-то поможет, мне помогло.
Кто нибудь решил проблему с отсутствием звука? Все работает, анимация идет, писк из динамиков идет, но звука нет..... Пробовал подключать наушники, там тоже тишина.
И еще вопрос, PCM5102, почему не использовать внутренний ЦАП, как на ESP8266? Делал как- то радио на 8266, простое, ни каких помех, ни каких фильтрав, играет чисто, стабильно. Собирал по такой схеме.
scale_2400.jpg
Просто столько заморочек с фильтром, звуком PCM5102.
 

riabov.nickita2018

✩✩✩✩✩✩✩
14 Ноя 2023
8
1
Всем доброго времени суток! Вопрос от чайника. Какие резисторы и конденсаторы брать? В магазине спросили напряжение и мощность. Подскажите, пожалуйста. Заранее спасибо
 

V1ad

★✩✩✩✩✩✩
7 Ноя 2023
42
21
резисторы 0.125 вт, конденсаторы фильтра шумов - керамика. Напряжение любое. Они все подойдут на 3.3в или 5в. Номиналы есть на схеме и в коментах от Алекса. Цитата :
  • 17.09.2023 – добавил схему с фильтром шумов звука (можно взять номиналы 10 k и 0.001 uF вместо 1k и 0.01 uF), также чуть улучшил отзывчивость анализа звука и анимаций в прошивке
 

riabov.nickita2018

✩✩✩✩✩✩✩
14 Ноя 2023
8
1
@V1ad, понял, спасибо большое. А как вообще получилась такая цифра — 0.125 Вт? Объясните, пожалуйста, вкратце, если не сложно

@V1ad, на форуме человек ответил, что конденсаторы нужны на напряжение больше 10 вольт. Кому верить?) 😆Screenshot_2023-11-14-23-18-54-56_b11fe1d558f48bc2e9f48f0b563bdf70.jpg
 

maloir

★✩✩✩✩✩✩
14 Сен 2019
91
25
на форуме человек ответил, что конденсаторы нужны на напряжение больше 10 вольт. Кому верить?) 😆
все ответы верны, резисторы подойдут любые и 0,25 и 0,5 ватт, просто чем больше ватт, тем резистор больше размером
5be3df9fd7ea50189399251401d84fe5.jpg
 
  • Лойс +1
Реакции: riabov.nickita2018

maloir

★✩✩✩✩✩✩
14 Сен 2019
91
25
@maloir, спасибо, с резисторами пока всё понятно. А как быть с конденсаторами?
конденсаторы керамические 0.001 uF (мкФ) и 1uF (мкФ) на них есть маркировка (код) на 1uF код 105 на 0.001 uF код 102. Называетс 1 микрафарат, аналог 1000nF нанофарад и 1000000pF пикофарал, второй конденсатор 0.001 микрафорат, аналог 1nF нанафарад и 1000pF пикафарад. В интернете есть таблицы по керамическим конденсаторам.
Снимок2.PNG
Снимок.PNG
 
  • Лойс +1
Реакции: riabov.nickita2018

V1ad

★✩✩✩✩✩✩
7 Ноя 2023
42
21
@maloir,
Кто то перекидывал с 25 ноги на 14 и помогало, но я не понял в чем смысл такой перестановки. Просто другой порт.
#define I2S_DOUT 25 – поменяй вот так #define I2S_DOUT 14 – поменяй на G14 ногу, она идёт на ЦАП DIN (соответствено провод перекинь и перепрошей, у меня было тоже самое поменял и запел)
 
  • Лойс +1
Реакции: maloir

aleksnow507

✩✩✩✩✩✩✩
24 Окт 2023
1
1
@maloir, Я вот не обратил внимания когда собирал, и пустил ноль как на схеме, не работал раньше с ESP не увидел что там написано не земля на ноге. У меня тоже был писк из динамиков. Для уточнения у тебя все путем собрано? Ноль на ноль идет? Я в итоге заказал новый ЦАП а пока поставил вот такой https://www.youbot.ru/product/modul-max98357-audiousilitelya-klassa-d подключил к нему два динамика и все завелось. В моем случае я видать спалил ЦАП и усилитель, потому что он при включении замыкал + на -. Так что если сделать итог, попробуй подкинуть другой ЦАП)
 
Изменено:
  • Лойс +1
Реакции: maloir

maloir

★✩✩✩✩✩✩
14 Сен 2019
91
25
Кто то перекидывал с 25 ноги на 14 и помогало, но я не понял в чем смысл такой перестановки. Просто другой порт.
честно говоря тоже смыла не понял, но попробовал, естественно результат нулевой.....
Для уточнения у тебя все путем собрано? Ноль на ноль идет?
Да, нонь на нуле, даже если бы не знал об ошибке в схеме все равно не совершил этой ошибки, использовал есп32 с 30 пинами, там где на схеме CMD, на моей есп там GND. Так что в этом смысле все сделано правильно. Спасибо, за подсказку ЦАП попробую, сейчас закажу.
 
Изменено:

V1ad

★✩✩✩✩✩✩
7 Ноя 2023
42
21
@maloir, У меня плата тоже с 30 пинами. При распайке только надо внимательно соединять по номерам портов.
 

maloir

★✩✩✩✩✩✩
14 Сен 2019
91
25
У меня плата тоже с 30 пинами. При распайке только надо внимательно соединять по номерам портов.
Вот сейчас все проверил, все отсоеденил и сново по схеме подсоеденил, результат нулевой.... Вот думаю что еще может быть...

Вопрос, а можно собрать без фильтра? вот этого

Снимок.PNG
 

V1ad

★✩✩✩✩✩✩
7 Ноя 2023
42
21
Можно без фильтра. Его смысл прежде всего делитель сигнала обратной связи для отрисовки синусоиды во рту робота. Аналоговый звуковой сигнал снимается с левого канала на выходе и подается на ESP32 на 34 порт, который работает как вход.
 
  • Лойс +1
Реакции: maloir

maloir

★✩✩✩✩✩✩
14 Сен 2019
91
25
Спасибо за помощь, сделал ! Рассказываю как сделал. все же пошел по этому пути

scale_2400.jpg


что бы понять есть вообще звук, идет ли он с ЕСП32. К пинам 25 и 26 напрямую поключил динамик и он запел!

ESP32-Audio-Player-Circuit-Diagram.jpg

Тут то я и понял, что дело во внешнем ЦАПе. И правда, два провода при пайте на ЦАПе местами попутал. Поменял местами и запело! Кстати фильтр этот

Снимок.PNG


выкинул из схемы, играет чисто и без шумов и без него. Можно в шапку добавить, что бы проверять идет ли звук с ЕСП32 вообще, что бы опредилится, почему не играет музыка и куда копать.

 
Изменено:

straket

★✩✩✩✩✩✩
17 Окт 2023
29
19
Всех приветствую, знаю что у некоторых было желание чтоб данное устройство работало по блютуз, я реализовал это, прошивку собрал с библиотекой btAudio, прошивка далека от идеала но работает, если кто-то захочет могу поделиться, обращайтесь ко мне в телеграм @im_tortik.
p.s. я совсем не программист, прошивку сделал через боль и страдания, надеюсь найдутся те кто доведет её до ума)

Выкладываю скетч с bluetooth. К сожалению архив не удалось загрузить сюда на форум, по этом причине оставляю ссылку на Cloud Mail.ru и Яндекс Диск.

в Архиве есть файл README в котором описано что было проделано.

Краткая инструкция по использованию:
1. Включаем голову, в этот момент запускается и работает bluetooth модуль,
со смартфона находим и подключаемся к Bender Radio, после чего звук начнет вопроизводиться через голову.
(При подключении устройства никакого звукового сигнала из головы не будет)

2. При выключении головы, bluetooth модуль выключается.

3. При повторном включении головы,
bluetooth модуль автоматически подключается к последнему подключенному устройству.

Так же попрошу меня сильно не пинать, первый раз попробовал отредактировать прошивку, не опыта, ни знаний у меня нет.
 

V1ad

★✩✩✩✩✩✩
7 Ноя 2023
42
21
отличная инициатива. Форкни прошивку от Алекса и внеси туда изменения. Проще все будет сопровождать.
 

Константин106

✩✩✩✩✩✩✩
14 Сен 2019
9
0
Как все-таки лечить глюки матриц? При включении матрицы некоторые просто горят, некоторые работают правильно, некоторые частично. Каждый раз глюки на разных. Пару раз ловил вполне нормальную работу, но до выключения. Статистика сильно не в мою пользу... Это было ещё до подключения аудиочасти. С аудио ничего не изменилось. Проблем по вифи и радио нет, всё работает чётко.
 

straket

★✩✩✩✩✩✩
17 Окт 2023
29
19
@Константин106, я думаю что у вас происходит просадка по питанию при включении, в связи с чем у вас и появляются глюки, попробуйте использовать более мощный блок питания, или аккумулятор не менее чем на 2000 mAh.
Если это поможет то скорей всего потребуется поставить конденсатор на линию 5V