Данный модуль предназначен для самостоятельной сборки FM радио.
Данным модулем можно управлять по протоколу I²C. Напряжение питания 3,3V, работает в диапазоне частот 76 – 108МГц (FM-диапазон) - идеальное решение для стеба в комментариях над тупыми безграмотными ардуинщиками самостоятельной сборки, радио с часами, будильником, пультом дистанционного управления или управлением через Интернет.
Цена вопроса в районе 150-250 рублей.
В сети существует достаточно большое количество библиотек для управления данным модулем, но лично мне понравилась библиотека PU2CLR SI470X так она обладает богатым функционалом со сравнению с решениями других авторов.
Для подключения необходимо задействовать 3 порта ввода-вывода (2 для подключения к шине I²C и один для контакта REST).
В библиотеке есть тестовый пример - у меня все взлетело сразу без "танцев с бубном"
(не забываем изменить в строке константу определяющую номер порта к которому подключен вывод RSR)
define RESET_PIN 2 // пин подключения Reset
Пример я слегка модифицировал и комментарии перевел на русский язык - можете скачать и загрузить его. После загрузки в плату открываем монитор порта и видим следующую картинку:
Тестовый пример сканирует шину I2C, определяет адрес приемника, параметры устройства и прошивки, после чего начинает проигрывать одну из радиостанций. Через 5 секунд происходит тестирования включения/выключения звука (функция Mute) , а затем программа начинает сканировать радио-эфир. Каждая найденная радиостанция проигрывается в течении 5 секунд, а в COM порт выводится частота найденной станции.
rx.seek(1,1);
команду можно вызывать сколько угодно раз и просканировать весь диапазон. (в других библиотеках функционала автоматического поиска станций я не видел). Скетч доступен по этой ссылке.
Возможностей в данной библиотеке более чем предостаточно, чтобы запрограммировать такой приемник - какой захочется:
Все функции можно посмотреть тут
А ежели чего то вдруг не хватит - используя данную библиотеку можно "постучаться" в устройство напрямую через регистры (функции для их чтения/записи автор библиотеки также предусмотрел - т.е. изобретать велосипед не придется). Документацию на модуль можно посмотреть тут.
Приятно, что данная библиотека совместима и с платформой ESP32
В скетче меняем одну строчку:
rx.setup(RESET_PIN, 21); // запускаем радио
Мне модуль на Si4703 понравился. Разъем для наушников я скорее всего с него сдую феном, и прицеплю через делитель напряжения какой-нибудь УНЧ для динамиков.
Не забываем оставить комментарий про тупых, деградирующих ардуинщиков, поставить дизлайк, отправить мой канал в бан, а я пошел встраивать модуль радио в свои самодельные кухонные интернет-погода-часы.
Всем удачи!