Найти тему
Электроника, ESP32, Arduino

Модуль Si4703 FM тюнер

Данный модуль предназначен для самостоятельной сборки FM радио.

Si4703 FM тюнер
Si4703 FM тюнер
Si4703 FM тюнер контакты платы
Si4703 FM тюнер контакты платы

Данным модулем можно управлять по протоколу I²C. Напряжение питания 3,3V, работает в диапазоне частот 76 – 108МГц (FM-диапазон) - идеальное решение для стеба в комментариях над тупыми безграмотными ардуинщиками самостоятельной сборки, радио с часами, будильником, пультом дистанционного управления или управлением через Интернет.

Цена вопроса в районе 150-250 рублей.

Si4703 FM тюнер на сайте Aliexpress
Si4703 FM тюнер на сайте Aliexpress

В сети существует достаточно большое количество библиотек для управления данным модулем, но лично мне понравилась библиотека PU2CLR SI470X так она обладает богатым функционалом со сравнению с решениями других авторов.

Её кстати можно установить прямо через менеджер библиотек, что облегчает задачу по её поиску :-)
Её кстати можно установить прямо через менеджер библиотек, что облегчает задачу по её поиску :-)

Для подключения необходимо задействовать 3 порта ввода-вывода (2 для подключения к шине I²C и один для контакта REST).

Схема подключения к Arduino Nano
Схема подключения к Arduino Nano
В качестве антенны используется провод от наушников
В качестве антенны используется провод от наушников

В библиотеке есть тестовый пример - у меня все взлетело сразу без "танцев с бубном"

(не забываем изменить в строке константу определяющую номер порта к которому подключен вывод RSR)

define RESET_PIN 2 // пин подключения Reset

Пример я слегка модифицировал и комментарии перевел на русский язык - можете скачать и загрузить его. После загрузки в плату открываем монитор порта и видим следующую картинку:

Лог тестирования радио.
Лог тестирования радио.

Тестовый пример сканирует шину I2C, определяет адрес приемника, параметры устройства и прошивки, после чего начинает проигрывать одну из радиостанций. Через 5 секунд происходит тестирования включения/выключения звука (функция Mute) , а затем программа начинает сканировать радио-эфир. Каждая найденная радиостанция проигрывается в течении 5 секунд, а в COM порт выводится частота найденной станции.

rx.seek(1,1);

команду можно вызывать сколько угодно раз и просканировать весь диапазон. (в других библиотеках функционала автоматического поиска станций я не видел). Скетч доступен по этой ссылке.

Возможностей в данной библиотеке более чем предостаточно, чтобы запрограммировать такой приемник - какой захочется:

Команды библиотеки PU2CLR SI470X
Команды библиотеки PU2CLR SI470X
Команды библиотеки PU2CLR SI470X (продолжение)
Команды библиотеки PU2CLR SI470X (продолжение)

Все функции можно посмотреть тут

А ежели чего то вдруг не хватит - используя данную библиотеку можно "постучаться" в устройство напрямую через регистры (функции для их чтения/записи автор библиотеки также предусмотрел - т.е. изобретать велосипед не придется). Документацию на модуль можно посмотреть тут.

-10

Приятно, что данная библиотека совместима и с платформой ESP32

Подключаем модуль Si4703 к ESP32 на шину I2C, reset подключаем ко 2-му порту
Подключаем модуль Si4703 к ESP32 на шину I2C, reset подключаем ко 2-му порту

В скетче меняем одну строчку:

rx.setup(RESET_PIN, 21); // запускаем радио
Все замечательно работает и с ESP32
Все замечательно работает и с ESP32

Мне модуль на Si4703 понравился. Разъем для наушников я скорее всего с него сдую феном, и прицеплю через делитель напряжения какой-нибудь УНЧ для динамиков.

Не забываем оставить комментарий про тупых, деградирующих ардуинщиков, поставить дизлайк, отправить мой канал в бан, а я пошел встраивать модуль радио в свои самодельные кухонные интернет-погода-часы.

Воткнем сюда радива!
Воткнем сюда радива!

Всем удачи!