Full-Chip.net

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

» » Цифровой FM приемник на Arduino и модуле RDA5807 с графическим дисплеем и функцией RDS
Статистика
7268 (+1)
Всего пользователей
1
Сейчас на сайте
84 (+0)
Всего статей
1173 (+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 шт. цветные провода для ардуино

Скачать все файлы проекта priemnik-RDS.rar [486,58 Kb] (cкачиваний: 2985)
K:190
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

Имя:*
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
Вопрос:
b+b+b=bbb , x+x+x=xxx, c+c+c+a=?
Ответ:*
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив
Ответить Цитата
  • gsm73

  • 21 апреля 2017 06:31
  • Группа: Посетители
  • Регистрация: 20.04.2017
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
max,
Понял! Спасибо!
Ответить Цитата
  • max

  • 20 апреля 2017 23:57
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
gsm73,
Нет, нужно переписывать весь код. Я в конце статьи добавил ссылки, на покупку деталей для сборки приемника.
Ответить Цитата
  • gsm73

  • 20 апреля 2017 21:50
  • Группа: Посетители
  • Регистрация: 20.04.2017
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Здравствуйте! А сложно переделать под модуль Si4703? rda5807 нет на рынке. На Si4703 есть в интернете примеры но мне не нравится то что нет регулировки громкости программной и рдс хотя модуль позволяет это сделать.
Ответить Цитата
  • muzga

  • 1 февраля 2017 15:41
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Dark-Dante,
Подтянул шину I2C через резисторы 10к к плюсу 3.3 в ,помеха пропала. Большое спасибо за помощь!! Классный приемник.
Ответить Цитата
  • Группа: Посетители
  • Регистрация: 16.03.2016
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Вот и причина, из-за этого еще и модуль может здорово глючить. Это обязательное условие для I2C!
Ответить Цитата
  • muzga

  • 31 января 2017 17:31
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Dark-Dante,Нет SDA и SCL не подтянуто к плюсу 3.3 в.
Ответить Цитата
  • Группа: Посетители
  • Регистрация: 16.03.2016
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
muzga, и2ц подтянута к плюсу? Экран не поможет если цифровой шум лезет по шине.
Ответить Цитата
  • muzga

  • 29 января 2017 16:03
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
max,
Спасибо за совет.Попробую за экранировать модуль.
Ответить Цитата
  • max

  • 28 января 2017 22:25
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
muzga,
ну я не замечал такого, хотя может не прислушивался, ну судя по симптомам пролазит сигнал от шины либо по питанию, либо по самой шине, пробовать экранировать модуль, возможно поможет.
Ответить Цитата
  • muzga

  • 28 января 2017 22:09
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Здравствуйте. Собрал приемник на своей печатной плате. Заработал сразу, установил свою частоту при запуске, прошивал атмегу USBASP программатором . Загрузил сначала загрузчик потом скетч .Но у меня возникла проблема идет небольшой треск при слабом сигнале в наушниках, при нажатии и удерживании любой из кнопок треск исчезает . посоветуйте как это можно исправить. При сильном сигнале радиостанции треска нет.
Ответить Цитата
  • Группа: Посетители
  • Регистрация: 16.03.2016
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Меняйте модуль, он умер.
Ответить Цитата
  • Markys

  • 21 января 2017 14:29
  • Группа: Посетители
  • Регистрация: 30.12.2016
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Огромное ВАМ спасибо. Теперь стало понятно. контрастность настроил.
Теперь осталось решить проблему которая уже не раз появлялась в обсуждении. "При старте выскакивает частота 104,7 и через секунду появляется 163,7 и не регулируется." Правильность сборки проверил не раз, все верно. Писалось что модуль боится статики, возможно он не исправин.
Как можно проверить модуль на работоспособность?
Ответить Цитата
  • max

  • 21 января 2017 10:26
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Markys,
откройте калькулятор в винде, меню вид программист. ставим галочку на против надписи HEX, пишем B5, ставим галку Dec, и видим значение 181, от него отталкиваемся и прописываем например 220, перемещаем галочку на HEX и видим значение DC. Его прописываем вместо B5 то есть будет так LcdWrite(LCD_CMD, 0xDC); прошиваемся и смотрим результат, если стало темнее значит прописываем меньшее значение итд...как то так.
Ответить Цитата
  • Markys

  • 21 января 2017 10:16
  • Группа: Посетители
  • Регистрация: 30.12.2016
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Цитата: max
Markys,
B5 это хекс формат возьмите калькулятор программиста в виндовс и пересчитайте, если не получается то попробуйте методом тыка хоть поймете как работает)

Добрый ВЫ, если бы я знал что такое "хекс", и как его высчитывать, я бы вас не доставал с глупыми вопросами. А вам трудно помочь, объяснить.
Ответить Цитата
  • max

  • 20 января 2017 23:21
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Dark-Dante,
контраст правится программно пусть разберется!
Ответить Цитата
  • Группа: Посетители
  • Регистрация: 16.03.2016
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Если уже совсем беда с, включите дисплей через 2-3 диода.
Ответить Цитата
  • max

  • 20 января 2017 21:16
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Markys,
B5 это хекс формат возьмите калькулятор программиста в виндовс и пересчитайте, если не получается то попробуйте методом тыка хоть поймете как работает)
Ответить Цитата
  • Markys

  • 20 января 2017 20:21
  • Группа: Посетители
  • Регистрация: 30.12.2016
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Я так понял в строке:
LcdWrite(LCD_CMD, 0xB5); // Set LCD Vop (Contrast). //B1
0хB5 нужно поменять, вот только я так и не нашел как? и на что?
Не могли бы объяснить!? Нужно увеличить или уменьшить число, или вообще все символы менять.
Ответить Цитата
  • max

  • 19 января 2017 17:07
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Markys,
прочти комментарии там написано как программно поменять контраст, тема обсуждалась не раз уже.
Ответить Цитата
  • Markys

  • 19 января 2017 14:25
  • Группа: Посетители
  • Регистрация: 30.12.2016
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Извините из за работы смог только сегодня проверить. Питание подсветки перепаял. Еще раз перепрошил. что то появилось, но контрастность дикая почти не чего невидно.
Ответить Цитата
  • max

  • 15 января 2017 20:51
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Dark-Dante,
Пусть сначала с питанием вопрос решит, ни подсветка ни инициализация дисплея не проходит...
Ответить Цитата
  • Группа: Посетители
  • Регистрация: 16.03.2016
  • Статус: Пользователь offline
  • комментария
  • публикаций
    • Нравится
    • 0
Да и с прошивкой косяк 100%, она занимает 9 кБ, то есть около 30% памяти в атмега 328, как она у вас туда не влезла- загадка, пересобирайте её заново.
Ответить Цитата
  • Aduard

  • 15 января 2017 20:26
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
max,
Это из даташита

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

Цитата: Aduard
Markys,VCC Питание 3,3 В.Вывод LED для модулей на красной плате соединить с общим, для синих модулей соединить с питанием. Применять в цепи подсветки резистор 330 Ом. В некоторых модификациях уже установлен резистор в некоторых нет. Для определения наличия резистора и выбора оптимал ьного режима подсветки следует контролировать ток модуля и ток подсветки. Он не должен превышать 20 ma
Ответить Цитата
  • max

  • 15 января 2017 17:00
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Aduard,
Китайци утверждают что модуль отлично работает от 5 вольт, но предупредили что возможно нужно будет скорректировать контраст.
Ответить Цитата
  • Aduard

  • 15 января 2017 16:58
  • Группа: Гости
  • Регистрация: --
  • Статус:
  • комментариев
  • публикаций
    • Нравится
    • 0
Markys,VCC Питание 3,3 В. Для модулей на красной плате соединить с общим, для синих модулей соединить с питанием. Применять в цепи подсветки резистор 330 Ом. В некоторых модификациях уже установлен резистор в некоторых нет. Для определения наличия резистора и выбора оптимал ьного режима подсветки следует контролировать ток модуля и ток подсветки. Он не должен превышать 20 ma
Ответить Цитата
  • max

  • 15 января 2017 16:02
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Markys,
Ну чудес не бывает если не горит подсветка то явно что то не то!
Ответить Цитата
  • Markys

  • 15 января 2017 15:25
  • Группа: Посетители
  • Регистрация: 30.12.2016
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
max,
Проверил еще раз. Питания на ножках дисплея есть.
На 6 ноге +5
на 8 ноге -5
7 нога минус через сопротивление 47 Ом.
На некоторых схемах видел что 7 нога подключается к "+" через сопротивление.
Кто объяснить в чем разница?
Ответить Цитата
  • max

  • 15 января 2017 14:35
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Markys,
Думаю что не в прошивке, а в питании или не правильном подключении, подсветка подключена на прямую к питанию через резистор и если она не горит то питания на экран нет!
Ответить Цитата
  • Markys

  • 15 января 2017 14:32
  • Группа: Посетители
  • Регистрация: 30.12.2016
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
max,
Да. нет не чего. и подсветки тоже.
У меня была проблема на (arduino pro mini atmega328 5v 16mhz) не хватало памяти при загрузки скетча.
Мне посоветовали строчку 411: static const byte ASCII[][5] =
заменить на: static const byte ASCII[][5] PROGMEM =
Скетч залит еще место осталось. Может в этом проблема???
Ответить Цитата
  • max

  • 15 января 2017 13:34
  • Группа: Администраторы
  • Регистрация: 5.03.2012
  • Статус: Пользователь offline
  • комментариев
  • публикаций
    • Нравится
    • 0
Markys,
У тебя на нем вообще ничего не видно?