Full-Chip.net

Все об электронике, секреты ремонта
сборки компьютеров и периферии !!!

» » Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS
Статистика
93960 (+1)
Всего пользователей
1
Сейчас на сайте
85 (+0)
Всего статей
1632 (+0)
Всего комментариев
Реклама


Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS

Попался мне модуль радиоприемника на микросхеме RDA5807, он заинтриговал меня своей ценой и размерами, а когда я посмотрел весь его функционал, то понял что с ним можно поработать. В итоге в связке с arduino получился полноценный радиоприемник, с функцией RDS, цифровой регулировкой громкости, и авто настройкой.
Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS

Назначение контактов модуля RDA5807.
Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS

К ардуино данный модуль подключается по следующей схеме.
Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS

Из компонентов нам понадобятся:
Сам модуль приемника RDA5807.
Плата ARDUINO.
Графический дисплей NOKIA 5110.
3 тактовых кнопки.
Резисторы:
10кОм - 3шт.
47 Ом - 1шт.
10 Ом - 2шт.
И 2 электролитических конденсатора 330 мкФ 16 вольт.
Наушники.
Соединяем все согласно схемы, и обращаем особое внимание на подключение ЖК индикатора, так как они собираются в разных подвалах китая и выводы могут отличатся.
PIN_SCE подключен к выводу 3 arduino
PIN_RESET подключен к выводу 4 arduino
PIN_DC подключен к выводу 5 arduino
PIN_SDIN подключен к выводу 6 arduino
PIN_SCLK подключен к выводу 7 arduino
По выводам питания и подсветки разберетесь сами.
Кнопки по схеме
1-я значение (-)
2-я (Меню)
3-я значение (+)
Наушники подключать на прямую к модулю приемника RDA5807 нельзя, собираем простую схему согласования.
Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS

Кстати звук в наушниках получается очень громким, дополнительного усилителя не нужно.
После сборки можно заливать скетч а ардуино.






После старта приемник установит громкость "2" и частоту 104.7 мГц. кнопкой меню перелистываем пункты:
VOLUME - Громкость
AUTO TUNE - авто настройка частоты
MANUAL TUNE - ручная настройка на частоту.
INFO - данные системы RDS
Вот небольшое видео работы данного приемника


И видео от нашего пользователя который повторил конструкцию.


Для корректного отображения данных RDS нужна нормальная антенна, на индикаторе сверху есть буква S - и значение, это уровень принимаемого сигнала. дальше идет уровень громкости от 0 до 15, строка меню, текущая частота сигнала, и данные RDS. Если возникают вопросы пишите в комментариях.

Необходимые компоненты для сборки устройства с Китая по доступной цене.
Плата ARDUINO UNO (качественная)
Модули RDA5807M 10 шт.
Дисплей 84X48 LCD NOKIA5110
Набор выводных резисторов на все случаи жизни
Тактовые кнопки 12X12X11 мм. 20 ШТ.
40-120 шт. цветные провода для ардуино

Скачать все файлы проекта priemnik-RDS.rar [486,58 Kb] (cкачиваний: 6893)

Еще одна модификация с ик пультом, свою версию предоставил Эдуард.


Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS
Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS

1. Использовал ИК-приемник от сломанного авто-трансмиттера , судя из даташита TSOP48xx. Подключение: Vo-PIN10 , GND-GND, Vs-5V.
Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS

2. Загружаем в ардуино скетч IR_CODE_SCAN и в мониторе порта, при нажимании клавиш пульта (я использовал от муз-центра Sony) , определяем их код .
3. Проверяем с помощью скетча IR_REMOTE_LED работу , вставляя коды своих кнопок.
4. Загружаем в ардуино скетч RADIO_FM_IR , подставив значения кодов своих клавиш. Используем библиотеку IRremote.h.
5. Делал приемник больше года назад, решил навести порядок : вытравил плату, всунул в корпус от китайского приемничка, добавил индикатор уровня звука, сегодня приделал ИК-датчик, вроде работает живенько, лучше чем с кнопками.

Файлы проекта Эдуарда (файл платы и необходимые скетчи) radio-fmir-remote.zip [34,96 Kb] (cкачиваний: 2085)
K:236
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Вопрос:
Сколько голов у двух голового мутанта если их 2? (ответ запишите числом)
Ответ:*
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив
Ответить Цитата
  • max

  • 19 ноября 2015 20:14
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Магомед
Cобрав заново схему понял свои ошибки. По кнопкам оказалось что на бредборде я подключал нулевой провод к кнопкам 1 и 2 в гнезда где небыло земли, т. е. на длинном бредборде есть разделение по середине по шинам + и - (не внимательность), по дисплею, дисплей оказался не рабочим, т. е. контраст не регулируется, поменял дисплей теперь все работает. Спасибо!

Незачто, я перед публикацией все собираю и перепроверяю, все схемы у нас рабочие)))
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Cобрав заново схему понял свои ошибки. По кнопкам оказалось что на бредборде я подключал нулевой провод к кнопкам 1 и 2 в гнезда где небыло земли, т. е. на длинном бредборде есть разделение по середине по шинам + и - (не внимательность), по дисплею, дисплей оказался не рабочим, т. е. контраст не регулируется, поменял дисплей теперь все работает. Спасибо!
Ответить Цитата
  • max

  • 18 ноября 2015 22:48
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Я уже не помню по моему резистор стоит на подсветку, пере собери внимательно что то не так собрал!
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Контраст пробовал менять на этой строчке, не получилось, ставил значения от В0 до В7. Не помогло. У меня вместо резистора 47 ом стоит перемычка на землю, имеет значение? Все три кнопки подключены аналогично т. е. на 1й контакт первой кнопки идет провод с земли со второго контакта идет резистор 10кОм на 1й контакт второй кнопки и туда же подключена земля, со второго контакта второй кнопки также идет резисто и земля на первый контакт третьей кнопки, с выхода этой кнопки идет сигнальный провод на аналоговый вход ардуино и подтянута к +5 вольтам. Верно??? Sda scl фм модуля тоже подключены правильно, если их вытащит изображение с дисплея исчезает. Завтра попробую заново все собрать. Если есть еще какие нибудь догадки по контрасту и кнопкам подскажите.
Ответить Цитата
  • max

  • 18 ноября 2015 21:39
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Магомед
Здравствуйте!
Подключил все согласно вашей схеме и ничего не работает, на дисплей меню с радиостанцией выводится но контраст высокий, т.е. дисплей черный, информация видна только под углом и работает только одна кнопка , скан радиостанций вверх а другие не реагируют. В чем может быть проблема, Разъясните.

Если все правильно!!! подключено то работать будет по любому!! проверьте подключение кнопок они должны быть включены последовательно через резисторы проверьте не попутали ли контакты кнопок они ставятся только в 1 положении! контраст рерулируется в строке LcdWrite(LCD_CMD, 0xB5); // Set LCD Vop (Contrast). //B1 значение 0xB5
Ответить Цитата
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Здравствуйте!
Подключил все согласно вашей схеме и ничего не работает, на дисплей меню с радиостанцией выводится но контраст высокий, т.е. дисплей черный, информация видна только под углом и работает только одна кнопка , скан радиостанций вверх а другие не реагируют. В чем может быть проблема, Разъясните.
Ответить Цитата
  • max

  • 29 октября 2015 13:20
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Voldemar1985
Добрый день. Не подскажите где код для RDS нашли?

На буржуйском форуме, к сожалению давно было ссылку уже не найду(((
Ответить Цитата
  • Группа: Посетители
  • Регистрация: 29.10.2015
  • Статус: Пользователь offline
  • комментарий
  • публикаций
    • Нравится
    • 0
Добрый день. Не подскажите где код для RDS нашли?
Ответить Цитата
  • max

  • 16 сентября 2015 17:03
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Konst
0xB5

Все верно, B5 переводим в bin и получаем значение в данном случаи 10110101, его можно и хексом записать, работать будет и так и так.
Ответить Цитата
  • Konst

  • 16 сентября 2015 16:58
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Сегодня подключил дисплей и захотелось подкрутить контраст (как то бледненько у меня показывает) - как я понял в эту строку надо лезть
LcdWrite(LCD_CMD, 0xB5); // Set LCD Vop (Contrast). //B1
как увеличить пока не понял

Вопрос снимается - разобрался.
Вместо 0xB5 устанавливаем своё значение контраста.
В моём случае это 0b11000000 (при большем значении получал переконтраст).
Ответить Цитата
  • max

  • 6 сентября 2015 17:50
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Konst
Может тут дело совсем в другом.
У меня всё работает , но от A4 и А5 к плюс 3,3 в. установлены
резисторы 6,8 к. (подтягивающие).

Их установка как бы не обязательна, у нас только одно устройство на шине висит, внутренних резисторов контроллера должно хватать...
Ответить Цитата
  • Konst

  • 6 сентября 2015 17:48
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Может тут дело совсем в другом.
У меня всё работает , но от A4 и А5 к плюс 3,3 в. установлены
резисторы 6,8 к. (подтягивающие).
Ответить Цитата
  • max

  • 3 сентября 2015 20:58
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: max
Цитата: sandro
У Вас "инклюдирована" только "Wire". Разве есть разница, какие другие библиотеки у меня "лежат" в среде? Пробовал среды 1.6, 1.7.6, 1.5.2, результат одинаков. Сказал-бы, что ошибка в скетче, так в комментариях пишут, что всё заработало. А у меня, к сожалению(очень понравилось оформление) не заработало. Даже УНО плату поменял, не помагло. Проще сказать, что должно "подтянуться".

Попробуй среду 0022 и отпишись!

Цитата: max
Цитата: sandro
У Вас "инклюдирована" только "Wire". Разве есть разница, какие другие библиотеки у меня "лежат" в среде? Пробовал среды 1.6, 1.7.6, 1.5.2, результат одинаков. Сказал-бы, что ошибка в скетче, так в комментариях пишут, что всё заработало. А у меня, к сожалению(очень понравилось оформление) не заработало. Даже УНО плату поменял, не помагло. Проще сказать, что должно "подтянуться".

Попробуй среду 0022 и отпишись!

Если не выйдет пиши в скайп uw5rrmax

у меня 2 версии установленно 0022 и 1,06 я делал в 1.06, только что проверил, у вас модуль точно rda5807?
Ответить Цитата
  • sandro

  • 3 сентября 2015 20:34
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
In file included from sketch_sep03a.cpp:1:
D:\Arduino\libraries\Robot_Control/Wire.h:60: error: conflicting return type specified for 'virtual size_t TwoWire::write(uint8_t)'
D:\Arduino\arduino-0022\hardware\arduino\cores\arduino/Print.h:40: error: overriding 'virtual void Print::write(uint8_t)'
D:\Arduino\libraries\Robot_Control/Wire.h:61: error: conflicting return type specified for 'virtual size_t TwoWire::write(const uint8_t*, size_t)'
D:\Arduino\arduino-0022\hardware\arduino\cores\arduino/Print.h:42: error: overriding 'virtual void Print::write(const uint8_t*, size_t)'

Дайте пожалуйста ссылку на библиотеку для этой среды
Ответить Цитата
  • max

  • 3 сентября 2015 19:59
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: sandro
У Вас "инклюдирована" только "Wire". Разве есть разница, какие другие библиотеки у меня "лежат" в среде? Пробовал среды 1.6, 1.7.6, 1.5.2, результат одинаков. Сказал-бы, что ошибка в скетче, так в комментариях пишут, что всё заработало. А у меня, к сожалению(очень понравилось оформление) не заработало. Даже УНО плату поменял, не помагло. Проще сказать, что должно "подтянуться".

Попробуй среду 0022 и отпишись!

Цитата: max
Цитата: sandro
У Вас "инклюдирована" только "Wire". Разве есть разница, какие другие библиотеки у меня "лежат" в среде? Пробовал среды 1.6, 1.7.6, 1.5.2, результат одинаков. Сказал-бы, что ошибка в скетче, так в комментариях пишут, что всё заработало. А у меня, к сожалению(очень понравилось оформление) не заработало. Даже УНО плату поменял, не помагло. Проще сказать, что должно "подтянуться".

Попробуй среду 0022 и отпишись!

Если не выйдет пиши в скайп uw5rrmax
Ответить Цитата
  • sandro

  • 3 сентября 2015 19:39
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
У Вас "инклюдирована" только "Wire". Разве есть разница, какие другие библиотеки у меня "лежат" в среде? Пробовал среды 1.6, 1.7.6, 1.5.2, результат одинаков. Сказал-бы, что ошибка в скетче, так в комментариях пишут, что всё заработало. А у меня, к сожалению(очень понравилось оформление) не заработало. Даже УНО плату поменял, не помагло. Проще сказать, что должно "подтянуться".
Ответить Цитата
  • max

  • 3 сентября 2015 19:03
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: sandro
Действительно, библиотек напихано у Вас целая куча, и я в них заплутал...А связь с модулем есть. Тестовый скетч из библиотеки TEA5767Radio работает на ура. Устанавливаю заранее известную частоту и получаю желаемую радиостанцию. Не хотите вникнуть в мою проблему - Ваше право.И на том спасибо. Буду сам мастерить скетч.

Чтоб вам помочь мне нужен как минимум скрин среды ардуино там где библиотеки дабы видеть что подтянулось а что нет!
Ответить Цитата
  • sandro

  • 3 сентября 2015 17:58
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Действительно, библиотек напихано у Вас целая куча, и я в них заплутал...А связь с модулем есть. Тестовый скетч из библиотеки TEA5767Radio работает на ура. Устанавливаю заранее известную частоту и получаю желаемую радиостанцию. Не хотите вникнуть в мою проблему - Ваше право.И на том спасибо. Буду сам мастерить скетч.
Ответить Цитата
  • max

  • 3 сентября 2015 17:34
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: sandro
Дело не в подключении радиомодуля. С его отключением ни чего не изменяется. Стартует 104,7, через секунду показывает 163,7. Меню работает, громкость регулируется, а частота - нет.

нет связи с модулем! не подключены библиотеки, схема работает 1000% косяк либо в монтаже либо с библиотеками нахомутали!!! Я собрал ребятам 4 приемника и у всех до сих пор работают!
Ответить Цитата
  • sandro

  • 3 сентября 2015 17:15
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Дело не в подключении радиомодуля. С его отключением ни чего не изменяется. Стартует 104,7, через секунду показывает 163,7. Меню работает, громкость регулируется, а частота - нет.
Ответить Цитата
  • max

  • 3 сентября 2015 16:48
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: sandro
Собрал по Вашей схеме, загрузил. При старте выскакивает частота 104,7 и через секунду появляется 163,7 и не регулируется. В чём может быть косяк?

что то не так подключено проверяйте, особенно выводы А4, А5
Ответить Цитата
  • sandro

  • 3 сентября 2015 16:17
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Собрал по Вашей схеме, загрузил. При старте выскакивает частота 104,7 и через секунду появляется 163,7 и не регулируется. В чём может быть косяк?
Ответить Цитата
  • max

  • 25 августа 2015 17:50
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Konst
Спасибо, всё отлично работает.
Пока собрал вариант без дисплея. Использовал две кнопки (без кнопки меню). В программе поменял только частоту начальной настройки и уровень громкости.
Сейчас жду дисплей с алиэкспресса.
Хотелось бы дистанционное управление подключить (хотя бы две кнопки - перестройка вверх и перестройка вниз).
Ну а в идеале - прямой набор частоты с пульта.

Входы есть свободные, ик приемник подрубить, взять готовый код под д/у малость подправить и добавить сюда....
Ответить Цитата
  • Konst

  • 25 августа 2015 17:41
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Спасибо, всё отлично работает.
Пока собрал вариант без дисплея. Использовал две кнопки (без кнопки меню). В программе поменял только частоту начальной настройки и уровень громкости.
Сейчас жду дисплей с алиэкспресса.
Хотелось бы дистанционное управление подключить (хотя бы две кнопки - перестройка вверх и перестройка вниз).
Ну а в идеале - прямой набор частоты с пульта.
Ответить Цитата
  • max

  • 1 августа 2015 17:08
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Цитата: Сергей
непонятно подключение кнопок.... можно подробнее про них... они ведь согласно рисунка получаются подключены все месте , какой в этом смысл

Смысл великий, занимается всего один порт на 3 кнопки, они включены через резисторы последовательно, а какая из них нажата меряет ацп по сопротивлению!
Ответить Цитата
  • Сергей

  • 1 августа 2015 17:05
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
непонятно подключение кнопок.... можно подробнее про них... они ведь согласно рисунка получаются подключены все месте , какой в этом смысл