Модуль радиоприемника SI4713 Stereo FM Transmitter Radio MCU Module
Код товара: CTTL15416
Есть в наличии| 1040 c 1053 c |
| 1040 c 1053 c |
|
|
|
|
Не так давно разработка устройств с применением микроконтроллеров представлялась чем-то невероятно сложным, доступным лишь техническим специалистам. Но за последние годы ситуация резко изменилась. Повышение доступности электронных компонентов и появление таких платформ как Ардуино способствовали популяризации данной темы. И сегодня практически любой желающий может собрать собственного робота, домашнюю метеостанцию, радиоприёмник или mp3 плеер. Огромное количество самых разнообразных проектов на базе микроконтроллеров представлено в интернете, и, казалось бы, в таких условиях уже сложно кого-то чем-то удивить.
Если вы ищете что-то действительно оригинальное и интересное, обратите внимание на модуль FM-радиопередатчика SI4713, с помощью которого можно создать FM радиостанцию. Только представьте себе: ваше собственное FM радио у вас дома. Неплохо звучит, не правда ли? Это может стать как интересным любительским проектом, так и послужить основой для входа в мир радиовещания.
Главный компонент данного модуля – микросхема Si4713 производства Silicon Labs – один из лучших FM передатчиков в своём классе. Данный модуль позволяет передавать не только стерео аудиосигнал, но и RDS данные, например, название радиостанции и песни.
Работой передатчика должен управлять микроконтроллер. Как минимум требуется настроить его на определённую частоту, на которой будет вестись вещание. Для этого Si4713 поддерживает три интерфейса, среди которых популярные I2C и SPI. Это позволяет подключать модуль к большинству микроконтроллеров, в том числе Ардуино и Raspberry Pi.
Для подключения источника аудиосигнала на модуле предусмотрен разъем mini-jack 3.5мм. Источником может служить аудиоплеер, компьютер или любое другое устройство c линейным аудиовыходом.
Технические характеристики SI4713
Передатчик Si4713 выполнен полностью по CMOS технологии, что обеспечивает его минимальное энергопотребление. Это первый передатчик, в состав которого входит функционал для определения мощности принимаемого сигнала – RPS (Receive Power Scan). Данный функционал позволяет найти оптимальную частоту для радиовещания. Кроме того в составе передатчика имеется DSP процессор, выполняющий обработку звука для получения оптимальных характеристик перед трансляцией сигнала. Это и другие технические решения, применённые в Si4713, позволяют добиться наилучшего качества звучания в принимающем устройстве. Более подробная информация о микросхеме Si4713 доступна в технической документации.
Схема модуля Si4713
На плате модуля кроме микросхемы Si4713 располагаются: резонатор на 32.768 кГц, компоненты обвязки, регулятор напряжения на 3.3 В, от которого питается микросхема, и разъем mini-jack 3.5 для подключения источника аудио сигнала. Также на плате разведены следующие контакты:
Подключение к Ардуино
Забегая вперёд, отметим, что для работы с модулем будет использоваться библиотека от Adafruit, в которой реализовано взаимодействие по I2C. Поэтому для подключения к Ардуино предлагается схема, рассчитанная именно на интерфейс I2C:
Выводы SCL и SDA модуля подключаются к соответствующим выводам Ардуино. Для Ардуино Уно это A5и A4 соответственно. Вход сброса RST может быть подключен к любому свободному выводу Ардуино, в данной схеме – к D12. И остаются входы питания Vin и GND, их подсоединяем к 5V и GND.
Линейный аудиосигнал, например, от mp3 плеера подаётся либо на входы Lin и Rin (общий провод – GND), либо через mini-jack разъем.
Программирование модуля. Библиотека Adafruit Si4713 для Ардуино.
Для управления модулем Si4713 предусмотрен набор определённых команд, подаваемых микроконтроллером. Так, например, включение и выключение передатчика, настройка на нужную частоту, установка мощности передатчика – всё это осуществляется путём подачи соответствующих команд. Команды могут иметь аргументы. После получения команды передатчик возвращает ответ – результат её выполнения. И ещё одно понятие в рамках программирования Si4713 – это свойства – особый вид аргументов, применяемые для настройки передатчика, как правило, сразу после его включения. Перечень возможных команд и свойств приведён в технической документации. Руководство по их применению вы найдёте в документе AN332: Universal Programming Guide
Для быстрого начала работы с модулем Si4713 предпочтительнее использовать библиотеку. Ранее уже отмечалось, что планируется использование библиотеки от Adafruit, поэтому сейчас займёмся её установкой. Это может быть сделано с использованием менеджера библиотек: меню Скетч – Подключить библиотеку – Управлять библиотеками. В появившемся окне отфильтруем список доступных библиотек, введя в текстовом поле значение si4713. Единственная оставшаяся в списке библиотека – это искомая Adafruit Si4713 Library. Выделяем её и нажимаем «Установка»:
Если вы предпочитаете добавлять библиотеки вручную, то можете скачать её из репозитория https://github.com/adafruit/Adafruit-Si4713-Library и скопировать в каталог библиотек IDE Arduino.
Пример скетча для модуля Si4713
С библиотекой Adafruit для модуля Si4713 идёт пример скетча, показывающий основные моменты работы с передатчиком. Перед заливкой его в Ардуино измените частоту на заведомо свободную. Для этого найдите в скетче строку
#define FMSTATION 10230 // 10230 == 102.30 MHz
и укажите в ней своё значение.
Теперь можно загрузить тестовый скетч в Ардуино, включить источник аудиосигнала и настроить любой радиоприёмник на заданную частоту для проверки работы модуля.
В скетче присутствует закомментированный фрагмент, использующий описанный ранее RPS функционал. Его назначение – поиск наиболее подходящей частоты для радиовещания. Если вы раскомментируете данный фрагмент и загрузите скетч в Ардуино, то увидите в мониторе порта подобный результат:
Высокие значения здесь (в данном случае 63 на частоте 96.3) говорят о занятости канала. Минимальные значения (33 для частоты 95.1) являются признаком свободной, оптимальной для радиовещания частоты. Вы можете просканировать диапазон для нахождения такой частоты и прописать её в скетче.
Описание библиотеки Adafruit Si4713
Функции управления радиопередатчиком
begin() – инициализация радиомодуля. С вызова этой функции должна начинаться работа с SI4713
setTXpower(txpwr) – установка мощности передатчика. Параметр txpwr может принимать значения от 88 до 115 (dB?V) или 0 для выключения передачи.
tuneFM(freq) – установка частоты для радиовещания. Чтобы, например, настроить передатчик на частоту 102.3, вызовите эту функцию с параметром freq равным 10230.
readTuneStatus() – данная функция обновляет значения переменных currFreq, currdBuV, currAntCap и currNoiseLevel объекта radio. Эти переменные содержат значения частоты, мощности передатчика, ёмкости варактора в цепи антенны и уровня шума. Ёмкость подбирается автоматически при каждом изменении частоты, чтобы обеспечить оптимальную мощность для данной антенны и частоты. Для получения значения уровня шума на текущей частоте необходимо сначала вызвать функцию readTuneMeasure.
Функции для работы с RPS (Radio Power Sensing)
readTuneMeasure(freq) – измерение уровня шума на заданной частоте. Для получения результата измерения необходимо вызвать функцию readTuneStatus, которая обновит значение currNoiseLevel объекта radio.
Функции для работы с RDS/RBDS (Radio Data Broadcast)
beginRDS() – инициализация RDS.
setRDSstation(psname) – установка названия радиостанции (значение Programme Service name в терминах RDS). Длина psname не должна превышать 8 символов
setRDSbuffer( buffer) – передача текста длиной до 32 символов, в котором может быть название трека, исполнителя или любая другая информация.
Управление состоянием выводов GPO
SI4713 имеет три вывода общего назначения, один из которых используется для подключения резонатора. Таким образом, в нашем распоряжении остаются два вывода (GPO1 и GPO2), к которым можно подключить, например, светодиоды для индикации работы передатчика. GPO1 и GPO2 могут находиться в высокоимпедансном состоянии или настроены на вывод HIGH или LOW.
setGPIOctrl(bitmask) – настройка выводов общего назначения. Значение битовой маски bitmask определяет режим работы каждого вывода: 0 – вывод находится в high-Z; 1 – вывод работает в режиме OUTPUT. Пример вызова:
setGPIOctrl((1<<2)); // переключить вывод GPO2 в режим OUTPUT
setGPIOctrl((1<<2) || (1<<1)); // переключить оба вывода в режим OUTPUT
setGPIO(bitmask) – установка значения HIGH или LOW на выводе общего назначения. Тот же принцип, что и для функции setGPIOctrl, например:
setGPIOctrl((1<<2) || (1<<1)); // установить значение HIGH на обоих выводах
setGPIOctrl(1<<2); // установить HIGH на GPO2 и LOW на GPO1
Что дальше?
Дальнейшее развитие проекта зависит от вашей фантазии. Можно задействовать модуль SD карты для трансляции музыки с неё. Или подключить модуль со специализированным mp3 декодером, например, VS1053, что позволит транслировать потоковое аудио из сети. GSM модуль может использоваться для выбора трека через СМС или отправки текстовых сообщений для RDS. Вариантов просто масса!
------------------
СЕЕД15416:1040
Доставка может производиться различными по Вашему выбору способами. Это и самовывоз, и курьерские службы по г. Москве, и транспортные компании по России. Также мы можем выслать этот товар Почтой России. Если размеры, вес товара Модуль радиоприемника SI4713 Stereo FM Transmitter Radio MCU Module или соображения удароустойчивости находятся в разрешённых Почтой России пределах.





