Радио на ардуино своими руками

Обновлено: 08.07.2024

Сегодня разбираем и подключаем TEA5767 к Ардуино. Этот FM радио модуль выбран нами для обзора не случайно. Мы всегда стараемся рассказать об интересных решениях, которые экономят бюджет, просты в сборке, надежны при длительной эксплуатации. Герой нашей статьи именно такое устройство!

Малогабаритный микромодуль очень практичен – его можно задействовать во многих современных проектах и начинаниях (например, для реализации сборки цифрового стерео-радиоприемника УКВ-FM диапазона). Как вы понимаете, сложно переоценить удовольствие, которое получает истинный "ардуинщик" от сборки радио своими руками!

  • напряжение: 2,5-5V;
  • есть звуковой усилитель для наушников УНЧ TDA1308 (сопротивление в 32Ом);
  • ток: 70-200мА;
  • тип шины: I2C;
  • рабочие частоты: 76 – 108 МГц;
  • температурный диапазон: -20 . +80°С;
  • размеры: 11 х 12 мм.

Подключим радио модуль TEA5767 к Arduino. Для этой цели нам понадобятся такие аппаратные элементы: плата расширения Ардуино UNO, модуль TEA5767, комплект соединительных проводов.

Схема подключения показана на скриншоте:



Для дальнейшей работы и непосредственно программирования понадобится специализированная библиотека Wire. Ее можно отыскать в среде разработки IDE.

Можно добавить к этой схеме динамики для получения более насыщенного звука и дисплей для вывода значений на экран. Обратите внимание, как тогда будут выглядеть сборка и прошивка:



Пример кода:

У нас получилась полноценная радиостанция.

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


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

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

Цифровой 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. Если возникают вопросы пишите в комментариях.

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


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


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


В данном примере рассмотрим реализацию FM радио на ардуино с помощью специального датчика TEA5767.

Данный датчик подключается к Arduino по шине i2c.

Сам даташит датчика выложен по ссылке приведенной выше, можете скачать и ознакомиться с возможностями данного датчика.

Схема подключения всех компонентов приведена в начале статьи.

После подключения всех компонентов по схеме необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.

Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.

Видео:

Классический модуль с шагом контактов 2,0мм, подобные модули есть на микросхемах RDA5807M, CL5767P и тд.


В качестве переходника на более привычный наш контактов в 2,54мм, можно использовать кусок макетки.

SCT-104B VER:4.0:

Данный модуль относительно недавно появился на али, его мне прислали за место классической версии. Стоит отметить крайне не удачную компоновку выводов для самодельщиков.

SCT-104B VER:4.0

Обратите внимание на ноги BUSMODE и BEN, их описание, слева.

GNT-503_VER2:

Распиновка получена методом научной прозвонки. Не проверялась.

BUS на картинке это 13 нога (BUSENABLE). Угадайте к чему подключен BUSMODE? Ага, модуль рассчитан на работу по 3-wire и по I2C до него не достучатся.


Хотя он удобно напаивается на переходник под SOP.

Подключение к Arduino:

В случаи с классическим модулем.


  • SDA и SCL — Интерфейс I2C, выходы на модулях не подтянуты к питанию и требуют пару резисторов на 10к.
  • VCC и GND — Питание модуля и масса, диапазон напряжения питания 2.5 — 5.0 В, рекомендуемое 3,0 В.
  • OUTL и OUTR — Аналоговый выход
  • ANT — Антенный вход.

В случаи SCT-104B VER:4.0 выход BUSENABLE нужно подтянуть к питанию, в остальном отличий нет.

Для GNT-503_VER2 с его 3-ware, готовые решения мне не попадались.

Чтобы запустить приемник, достаточно написать несколько команд в регистр, пример ниже.

Купить:

Также существуют полностью совместимые (включая программно) модули, вроде AR1010, но являются приемниками прямого преобразования с DSP обработкой, с худшей чувствительностью и качеством звучания.

Читайте также: