FM-модуль TEA5767: подключение к Arduino и приёмник с автопоиском

FM-модуль TEA5767: подключение к Arduino и приёмник с автопоиском

TEA5767 — цифровой стереоприёмник FM-диапазона с управлением по I2C. Разбираем характеристики, подключение к Arduino и сборку радио с дисплеем и кнопками.

Что представляет собой модуль

TEA5767 — плата для сборки цифрового стереофонического FM-радиоприёмника. С микроконтроллером она общается по шине I2C, а на самой плате уже распаяны гнёзда под антенну и наушники. Звук на наушники выводится через встроенный усилитель на микросхеме TDA1308.

Модуль FM-радио TEA5767

Приёмник умеет самостоятельно искать станции. Сканирование прекращается на первой станции, уровень сигнала которой достиг заданного порога, причём этот порог можно менять. Если сигнал слабый, модуль сам переключается из стерео в моно.

Напряжение питания5 В
ИнтерфейсI2C
Адрес на шине I2C0x60
Диапазон частот76–108 МГц
Усилитель для наушниковTDA1308
Поиск станцийесть, с настраиваемым порогом уровня сигнала

Подключение к Arduino и адрес на шине

Поскольку модуль работает по I2C, для связи с платой Arduino достаточно двух сигнальных выводов. После соединения с Arduino Uno полезно загрузить скетч I2C-сканера: в мониторе последовательного порта он покажет адрес устройства. У TEA5767 это 0x60.

Схема подключения TEA5767 к Arduino Uno
Адрес TEA5767 в выводе I2C-сканера

Как настраивается частота

Модулем управляют, отправляя по I2C посылку из пяти байт. В обратную сторону из него можно читать данные — на этом построены автопоиск и определение уровня сигнала.

Для настройки на конкретную станцию хватает одной стандартной библиотеки Wire. Частота в мегагерцах (в примере 105.4) пересчитывается в число по формуле 4 * (f * 1000000 + 225000) / 32768. Старший и младший байты результата записываются в первые два элемента массива, остальные три байта в примере равны 0xB0, 0x10 и 0x00. Затем все пять байт передаются на адрес 0x60 — и приёмник начинает воспроизведение. Основной цикл программы при этом остаётся пустым.

Вывод звука на динамики

Встроенная TDA1308 рассчитана только на наушники. Чтобы получить громкий звук из динамиков, к выходному разъёму модуля подключают отдельный усилитель низкой частоты, а уже к нему — динамики.

Усилитель НЧ для подключения динамиков к TEA5767

Приёмник с дисплеем и кнопками поиска

На базе модуля несложно собрать законченный приёмник: частота найденной станции выводится на экран, а две кнопки запускают поиск вверх или вниз по диапазону. Для такого проекта нужны:

  • плата Arduino Uno или Nano и кабель USB
  • макетная плата и провода
  • модуль TEA5767
  • стереоусилитель НЧ
  • дисплей LCD WH1602 с интерфейсом I2C
  • две кнопки и два резистора по 10 кОм

В скетче используются библиотеки TEA5767, Wire и LiquidCrystal_I2C; дисплей в примере имеет адрес 0x27. При запуске приёмник инициализируется и настраивается на станцию по умолчанию 105.4 МГц, включается подсветка экрана. В цикле программа читает состояние приёмника и выводит в первую строку частоту, а во вторую — режим STEREO или MONO; попутно считывается уровень сигнала. Кнопка на выводе 2 запускает поиск вверх по частоте (search_up), кнопка на выводе 3 — вниз (search_down). Пока поиск не завершён, программа продолжает его обрабатывать и сбрасывает флаг, когда станция найдена.

Если что-то не работает

  • Станции не находятся: стоит проверить соединения с Arduino, подключить антенну и перенести приёмник туда, где приём увереннее.
  • Звук слишком тихий: нужен внешний усилитель; если он уже есть — проверить подключение усилителя и динамиков к модулю.

← Все статьи