Каталог

Модуль FM-радиопередатчика Si4713 совместимый с Ардуино

Цена:

1190 р.
менее 20 шт.
Уже в корзине
Код товара: 15416
Оригинальное название:
Si4713 FM Radio Transmitter Module

Описание товара

Не так давно разработка устройств с применением микроконтроллеров представлялась чем-то невероятно сложным, доступным лишь техническим специалистам. Но за последние годы ситуация резко изменилась. Повышение доступности электронных компонентов и появление таких платформ как Ардуино способствовали популяризации данной темы. И сегодня практически любой желающий может собрать собственного робота, домашнюю метеостанцию, радиоприёмник или mp3 плеер. Огромное количество самых разнообразных проектов на базе микроконтроллеров представлено в интернете, и, казалось бы, в таких условиях уже сложно кого-то чем-то удивить.

Если вы ищете что-то действительно оригинальное и интересное, обратите внимание на модуль FM-радиопередатчика SI4713, с помощью которого можно создать FM радиостанцию. Только представьте себе: ваше собственное FM радио у вас дома. Неплохо звучит, не правда ли? Это может стать как интересным любительским проектом, так и послужить основой для входа в мир радиовещания.

Главный компонент данного модуля – микросхема Si4713 производства Silicon Labs – один из лучших FM передатчиков в своём классе. Данный модуль позволяет передавать не только стерео аудиосигнал, но и RDS данные, например, название радиостанции и песни.

Работой передатчика должен управлять микроконтроллер. Как минимум требуется настроить его на определённую частоту, на которой будет вестись вещание. Для этого Si4713 поддерживает три интерфейса, среди которых популярные I2C и SPI. Это позволяет подключать модуль к большинству микроконтроллеров, в том числе Ардуино и Raspberry Pi.

Для подключения источника аудиосигнала на модуле предусмотрен разъем mini-jack 3.5мм. Источником может служить аудиоплеер, компьютер или любое другое устройство c линейным аудиовыходом.

Технические характеристики SI4713

  • Диапазон частот: 76–108 МГц
  • Напряжение питания: от 2.7 до 5.5 В
  • Потребляемый ток в режиме радиовещания: не более 22.8 мА
  • Рабочая температура: от -25 до 85 °C
  • Поддерживаемые интерфейсы: 2-wire (I2C), SPI, 3-wire
  • Программируемая мощность передатчика
  • Поддержка предыскажений
  • Сканирование диапазона для поиска свободных каналов

Передатчик Si4713 выполнен полностью по CMOS технологии, что обеспечивает его минимальное энергопотребление. Это первый передатчик, в состав которого входит функционал для определения мощности принимаемого сигнала – RPS (Receive Power Scan). Данный функционал позволяет найти оптимальную частоту для радиовещания. Кроме того в составе передатчика имеется DSP процессор, выполняющий обработку звука для получения оптимальных характеристик перед трансляцией сигнала. Это и другие технические решения, применённые в Si4713, позволяют добиться наилучшего качества звучания в принимающем устройстве. Более подробная информация о микросхеме Si4713 доступна в технической документации.

Схема модуля Si4713

Схема модуля FM-радиопередатчика SI4713

На плате модуля кроме микросхемы Si4713 располагаются: резонатор на 32.768 кГц, компоненты обвязки, регулятор напряжения на 3.3 В, от которого питается микросхема, и разъем mini-jack 3.5 для подключения источника аудио сигнала. Также на плате разведены следующие контакты:

  • RST – вход сброса. Перед началом работы с модулем необходимо установить на этом входе высокий уровень. При низком уровне Si4713 находится в состоянии сброса.
  • CS – выбор микросхемы при взаимодействии по SPI интерфейсу. В режиме I2C данный вывод определяет адрес микросхемы Si4713: когда вывод подтянут к питанию (состояние по умолчанию), I2C адрес микросхемы 0x63; при соединении с землёй адрес микросхемы будет 0x11.
  • SCL – линия тактирования.
  • SDA – линия данных.
  • GP1 – вывод общего назначения 1.
  • GP2 – вывод общего назначения 2.
  • 3vo – выход регулятора напряжения
  • GND – «земля».
  • Vin – вход питания. Рекомендуемый уровень питания составляет 3..5 В.
  • Lin – вход левого канала источника аудио сигнала.
  • Rin – вход правого канала источника аудио сигнала.
  • Ant – контакт для подключения антенны. В простейшем случае антенной может служить кусок медного провода.

Подключение к Ардуино

Забегая вперёд, отметим, что для работы с модулем будет использоваться библиотека от Adafruit, в которой реализовано взаимодействие по I2C. Поэтому для подключения к Ардуино предлагается схема, рассчитанная именно на интерфейс I2C:

Подключение модуля SI4713 к Ардуино

 

Выводы 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. Выделяем её и нажимаем «Установка»:

Установка библиотеки SI4713 для Ардуино

Установка библиотеки SI4713 для Ардуино

Если вы предпочитаете добавлять библиотеки вручную, то можете скачать её из репозитория 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. Вариантов просто масса!

footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru