Ардуино и RDA5807

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Аватара пользователя
rw6hrm
Открыл глаза
Сообщения: 58
Зарегистрирован: Вт фев 26, 2019 14:44:04
Откуда: Ставрополь
Контактная информация:

Ардуино и RDA5807

Сообщение rw6hrm »

Тема радиоприёмника на RDA5807 вроде бы и обсосана в соседней ветке форума, однако там народ в основном пользует регистры напрямую. Посему задам вопрос тут, поскольку чтот не получается...
...а именно не получается с функцией настройки приёмника radio.setBandFrequency(FIX_BAND, newFreq);
Если newFreq опредляется дефайном, то всё отлично работает.
Если newFreq опредляется как переменная (int или, как требуется, uint16_t), то всё стопорится и далее код не исполняется, хотя компилятор не ругается (версия 1.6.13)...

Есть одно смущение, когда я определяю величину переменной. У меня используется 4-х разрядный семисегментник. Поэтому индикация частоты на нём высвечивается от 875 до 1080 (мне этого достаточно). Также это число (переменная number) запоминается в еепром, для последующего включения на этой частоте. Чтобы определить цифру, которую надо отправить в RDAшку, я умножаю его на 10, чтобы получилось от 8750 до 10800. Получается так:

newFreq = number;
newFreq *= 10;
radio.setBandFrequency(FIX_BAND, newFreq);

и всё стопорится...
Проект с либой цепляю. Схема вроде бы не нужна.
Вложения
sketch_my_rx.zip
(168.9 КБ) 135 скачиваний
Реклама
Аватара пользователя
JMC.Hard
Мучитель микросхем
Сообщения: 445
Зарегистрирован: Ср сен 16, 2020 20:38:41
Откуда: Краснодарский край, г.Абинск

Re: Ардуино и RDA5807

Сообщение JMC.Hard »

А попробуйте, rw6hrm, определить newFreq как word, ну или unsigned int.
Лучше сделать и жалеть, чем жалеть, что не сделал ...
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Ардуино и RDA5807

Сообщение Martian »

Лучше (правильней) объявлять тем типом, который используется функцией. Либо принудительно приводить к нему. Даже если изначально это тоже был uint16_t
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15569
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Ардуино и RDA5807

Сообщение BOB51 »

Прокрутил компиляцию вышеприложенного проекта от rw6hrm на ардуино IDE 1.8.9
для платформы arduino nano atmega328p (old bootloader) Версия платформы 1.8.3...
Никаких замечаний... Даже вармингов нету (хотя у меня установлено для сообщений компилятора опция ВСЕ)...

Код: Выделить всё

Скетч использует 10042 байт (32%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1014 байт (49%) динамической памяти, оставляя 1034 байт для локальных переменных. Максимум: 2048 байт.
Правда у меня установлен вот этот вариант библиотек:
Radio.rar
(119.88 КБ) 94 скачивания
:dont_know:
Как рекомендация - переустановить IDE (на версии 1.8.9 или 1.8.19 в прортабле режиме)
:roll:
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
rw6hrm
Открыл глаза
Сообщения: 58
Зарегистрирован: Вт фев 26, 2019 14:44:04
Откуда: Ставрополь
Контактная информация:

Re: Ардуино и RDA5807

Сообщение rw6hrm »

Спасибо за ответы. По порядку - использую 1.6.13 поскольку это максимум, что запускается на ВинХР ;). Ну и нашёл свой косяк - не активировалась библиотека wire.h, которая, вроде как бы, прилеплена внутри Radio. Активировать удалось простым обращением проверки подключения платы с RDAшкой, для этого внутри сетапа добавил строки

if (!radio.initWire(Wire)) {
delay(1000);
}
ну и потом все обращения к чипу далее...

И, с*ка, всё пошло. А я, старый, забыл про это, разумеется всё висло, поскольку всё тупо кидалось в /dev/null...
...однако, почему срабатывал вариант с дефайном - мне неведомо...
Так что посыпаю голову пеплом, что занял время у уважаемых форумчан...

Черновик схемы (другого нет) и фото внешности и кишков прилагаю, мож кому интересно. Осталось добить скетч на работу с пару сотней ячеек памяти для преднастроенных станций (много, ибо по работе нужно).
Вложения
sketch_my_rx.zip
окончательный проект.
(168.96 КБ) 101 скачивание
rNyuhcjb7QU.jpg
внешность
(75.03 КБ) 235 скачиваний
hJRzlI0CRH0.jpg
внутренность
(71.55 КБ) 234 скачивания
photo_2024-10-05_22-52-22.jpg
черновик схемы
(89.1 КБ) 97 скачиваний
Последний раз редактировалось rw6hrm Ср окт 09, 2024 19:18:08, всего редактировалось 1 раз.
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15569
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Ардуино и RDA5807

Сообщение BOB51 »

Под виндовс ХР х32 идет Портабле вариант ардуиноIDE 1.8.9.
Единственно - ни обновлять платформы ни обновлять библиотеки из под ХР в ней НЕЛЬЗЯ.
Сразу должен быть выключен флажек "файл -> настройки -> проверять обновления при запуске" (устанавливаем и первый раз запускаем ТОЛЬКО ПРИ ОТКЛЮЧЕННОМ ИНТЕРНЕТЕ!!!). Далее НЕЛЬЗЯ будет запускать менеджер платформ и менеджер библиотек - в остальном ограничений нет.
А для обновления и подгрузки новых платформ использовать портабле копию на флешке, которая запускается на ПК с виндовс 7/10 и затем копируется в каталоги на ПК с ХР.
Штука довольно нудная, но отлично работает.
:beer:
Реклама
Огонёк
Опытный кот
Сообщения: 776
Зарегистрирован: Вт авг 27, 2024 19:11:47

Re: Ардуино и RDA5807

Сообщение Огонёк »

rw6hrm писал(а):Осталось добить скетч на работу с пару сотней ячеек памяти для преднастроенных станций (много, ибо по работе нужно).
Аж любопытно стало, что это за работа такая, где нужно помнить частоты пары сотен вещательных станций.
(Их по стране вообще столько наберётся хоть?)
Аватара пользователя
rw6hrm
Открыл глаза
Сообщения: 58
Зарегистрирован: Вт фев 26, 2019 14:44:04
Откуда: Ставрополь
Контактная информация:

Re: Ардуино и RDA5807

Сообщение rw6hrm »

Радиовещанием работа называется.
Ну всю пару сотен это так, шоб було ;), а вообще у меня под контролем только своих станций в двадцати пунктах региона порядка тридцати (да, в паре мест частоты совпадают). А ещё ж и конкурентов послушивать надо xD
Аватара пользователя
rw6hrm
Открыл глаза
Сообщения: 58
Зарегистрирован: Вт фев 26, 2019 14:44:04
Откуда: Ставрополь
Контактная информация:

RDA5807 и SCA

Сообщение rw6hrm »

Дабы не плодить новую тему спрошу тут оффтопом, а то мало ли, - как я понимаю, вытащить из RDAшки аудиоподнесущие SCA1/SCA2 (76/92 кГц) физиологически невозможно?
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Ардуино и RDA5807

Сообщение veso74 »

Документация:
REG 06H [7:4] - I2S_SW_CNT[4:0]
4'b1000: WS_STEP_48;
4'b0111: WS_STEP=44.1kbps;
4'b0110: WS_STEP=32kbps;
4'b0101: WS_STEP=24kbps;
4'b0100: WS_STEP=22.05kbps;
4'b0011: WS_STEP=16kbps;
4'b0010: WS_STEP=12kbps;
4'b0001: WS_STEP=11.025kbps;
4'b0000: WS_STEP=8kbps;
Никто не задокументировал и не раскрыл скрытые возможности.
Аватара пользователя
rw6hrm
Открыл глаза
Сообщения: 58
Зарегистрирован: Вт фев 26, 2019 14:44:04
Откуда: Ставрополь
Контактная информация:

Re: Ардуино и RDA5807

Сообщение rw6hrm »

Как бы это немножечко не то, kbps тут вообще не при делах... SCA - это ЧМ-модулированные аудиоподнесущие внутри излучаемого спектра УКВ-станций. RDS - это тоже на поднесущей, 57 кГц, но DSB-модулированное. По сути говоря, аудиовещание на поднесущих - это почти то же самое, что и проводная трёхпрограммка...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15569
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Ардуино и RDA5807

Сообщение BOB51 »

Может тут чего накопаете:
https://radiokot.ru/forum/viewtopic.php?f=61&t=104279
:roll:
Ответить

Вернуться в «Arduino»