АУДИО Простой FM-радиоприёмник на модуле RDA5807m и Arduino Nanо

Олег Поляков

★★★★✩✩✩
18 Янв 2022
340
246
www.1812.ru

@Deniskyn, под рукой нет компьютера с исходниками, но переделать управление под три кнопки вам не составит труда.
Подключите библиотеку обработки кнопок (например, GyverButton).
Найдите switch с логикой реагирования на события от энкодера (повороты, нажатия, повороты с нажатием) и замените на соответствующие события нажатия кнопок. Там ничего сложного нет.
 

Deniskyn

✩✩✩✩✩✩✩
11 Ноя 2019
7
1
к сожалению не смог справится с GyverButton (
хорумчане, хелп
 

samand587

★✩✩✩✩✩✩
31 Май 2021
118
29
@serg262, попробовал с данными автора из архива с 1-ой страницы- все нормально без ошибок собирается! Смотрите у себя настройки Ардуино. У меня версия 1.8.19

Какая версия у Вас установлена? Выбрать в инструментах плату Arduino nano. В папке Документы должно быть так(фото).
 

Вложения

Alexamig

★✩✩✩✩✩✩
15 Ноя 2019
26
13
Спб
Хороший проект, автору большое спасибо.
Нашел что цифра "9" не правильно показывало рядом с ползунком при регулировки звука. Была как "90"
Исправил тут functions.ino "if (volume < 9) oled.print(" ");" на "if (volume < 10) oled.print(" ");"

Продолжу. Это мне такой модуль RDA5807M кривой попал? (2 шт.) Все что-то молчат об этом!
При подаче питания если было выключено то шипит в динамике пока настройку не покрутишь, тогда начинает транслировать станцию.
Проверил на 2-х модулях, покупал давно, одинаково у обоих. Если быстро вкл. выкл. вкл. то начинает нормально работать, странно что на двух. В любимое станция записана, частоты совпадают.
Так, кое что нашел про 5807 ....
".... это классическое поведение RDA5807M при зависании PLL после старта.
Эта микросхема иногда инициализируется, но PLL (синтезатор частоты) не начинает работать, пока не произойдёт смена частоты хотя бы на шаг."
Теперь похоже "пинка" ей надо давать на старте при включении.
P.S.
Автор (таможня) дает добро на изменение в коде?)
 
  • Лойс +1
Реакции: Олег Поляков

Олег Поляков

★★★★✩✩✩
18 Янв 2022
340
246
www.1812.ru

@Alexamig, всегда приветствую не только повторы, но и улучшения, и исправления кода от представителей нашего радиоэлектронного сообщества. С радостью внесу ваши правки как по индикации громкости, так и по холодному старту радио-модуля и выложу тут новой версией скетча. Спасибо!
 

Alexamig

★✩✩✩✩✩✩
15 Ноя 2019
26
13
Спб

@Alexamig, всегда приветствую не только повторы, но и улучшения, и исправления кода от представителей нашего радиоэлектронного сообщества. С радостью внесу ваши правки как по индикации громкости, так и по холодному старту радио-модуля и выложу тут новой версией скетча. Спасибо!
Сделал доработку "дать пинка" RDA5807M при подаче питания. Пока тестировал от usb компа, от повербанка - работает стабильно, до этого не хотела совсем стартовать при подаче питания. Причешу немного код и выложу.
 

Alexamig

★✩✩✩✩✩✩
15 Ноя 2019
26
13
Спб
Что сделано:
1. Показывает процесс загрузки через красивую анимацию точек.
2. Перезапускает радиомодуль RDA5807M через I²C
3. Делает до трёх попыток инициализации при проблемах
4. “Пинает” PLL радиомодуля для стабилизации
5. Изменено в "Главное меню" с точек [ ... ] на [.. Назад ..]
6. Добавлен значок mute при выключении звука
Радио готово к работе через 5–6 секунд после включения.
У меня стало радио запускаться стабильно, раньше не могло.
....................................................................
Что-то еще может, добавил, поправил....
Изменение указал в основном файле.
....................................................................
 

Вложения

Изменено:

Alexamig

★✩✩✩✩✩✩
15 Ноя 2019
26
13
Спб
По поводу сохранения уровня громкости (ползунок), надо обязательно как понял зайти в "Главное меню" и выйти. По коду вроде так только тогда будет сохранение. Поправьте если не так.
 

Олег Поляков

★★★★✩✩✩
18 Янв 2022
340
246
www.1812.ru
Выпущена новая версия 1.3 от 12.10.2025. В ней:
  1. Громкость на "9" показывало как "90" при регулировки звука.
  2. Показывает процесс загрузки через красивую анимацию точек.
  3. Перезапускает радиомодуль RDA5807M через I²C.
  4. Делает до трёх попыток инициализации при проблемах.
  5. "Пинает" PLL радиомодуля для стабилизации.
  6. Изменено в "Главное меню" с точек [ ... ] на [.. Назад ..].
  7. Добавлен значок mute при выключении звука.
Улучшения и исправления внёс участник форума Алекса Гайвера Alexamig, за что ему сердечное спасибо!
 
Изменено:
  • Лойс +1
Реакции: samand587 и Alexamig

Alexamig

★✩✩✩✩✩✩
15 Ноя 2019
26
13
Спб
Изменения в коде, пока в тестировании.
1. Авто-сохранение громкости.
2. При изменении громкости энкодером фиксируется новое значение, запись в eeprom. После питания не сбрасывается.
 
  • Лойс +1
Реакции: Олег Поляков

Вася234

✩✩✩✩✩✩✩
18 Май 2025
5
0
Радио версии 1.3 работает хорошо. А про второй энкодер, для отдельной регулировки громкости уважаемые форумчане никто не думал как сделать
 

Alexamig

★✩✩✩✩✩✩
15 Ноя 2019
26
13
Спб
Полностью заменить все файлы!



--------- Дополнение ver 1.5 ---------

1. Авто-сохранение громкости с защитой EEPROM
2. При изменении громкости энкодером фиксируется новое значение и время изменения.
3.1 В EEPROM будет записан только если:
- текущая громкость отличается от последней сохранённой.
- прошло заданное время после последнего изменения (VOLUME_SAVE_DELAY).
- После выключения питания громкость сохранена + удобнее чем лезть в меню.
3.2 Интервал VOLUME_SAVE_DELAY задаётся в миллисекундах:
#define VOLUME_SAVE_DELAY 60000 // 1 минута, Минимизируется износ EEPROM при частых изменениях громкости.
4. Сделана небольшая оптимизация памяти.
nfsp.jpg

Было.
free_0.jpg

Стало.
free.jpg
 

Вложения

Изменено:

Alexamig

★✩✩✩✩✩✩
15 Ноя 2019
26
13
Спб
Радио версии 1.3 работает хорошо. А про второй энкодер, для отдельной регулировки громкости уважаемые форумчане никто не думал как сделать
Можно сделать, но зачем? Вы что ежесекундно крутите громкость)) Не вижу пользы никакой в этом, (мало памяти осталось) неинтересно и второго энкодера нету, всего один и то кое как работает.
Может вам лучше сделать второй как кнопки на громкость. Выше под кнопки выкладывали, посмотрите, поправьте под себя.
 
Изменено:
  • Лойс +1
Реакции: Олег Поляков

Mik898

✩✩✩✩✩✩✩
12 Окт 2025
1
0
@serg2076,здравствуйте поделитесь файлом корпуса. Заранее благодарен.