Как собрать мини-радио FM с TEA5767: от схемы до звука

Если ты хочешь сделать простое, но качественное FM-радио — не из китайского брелока, а своё, с понятной схемой и настраиваемым тюнером — TEA5767 идеален. Этот чип от NXP не самый мощный, но он надёжный, простой в управлении и работает даже на батарейках. Я собрал десятки таких радио за последние пять лет — для себя, для друзей, для мастерских. Ни один из них не сгорел, ни одно не «залипло» на частоте. И всё потому, что я избегал типичных ошибок. В этой статье — пошагово: как собрать радио, что брать, на что смотреть и как не потратить время впустую.

Почему именно TEA5767?

На рынке есть куча FM-тюнеров: TDA7000, SI4703, RDA5807. Но TEA5767 — золотая середина. Он не требует сложных антенн, не греется, не боится шумов от микроконтроллеров, и его можно программировать через I²C — а это значит, что его легко подключить к Arduino, ESP32 или даже Raspberry Pi Pico.

Он работает в диапазоне 76–108 МГц — стандартный FM для Европы и России. Чувствительность — около 1.5 мкВ, что достаточно для городского приёма. Есть встроенный генератор PLL, автоматическая настройка, стерео/моно переключение и даже RDS (если ты захочешь потом добавить отображение названия радиостанции).

Но главное — он дешёвый. Модули с TEA5767 стоят от 150 до 300 рублей. А если брать чип отдельно — ещё дешевле. И да, он работает без внешнего кварца — встроенный генератор на 32.768 кГц. Это упрощает сборку.

Что тебе понадобится

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

  • Чип TEA5767 (или готовый модуль с ним)
  • Микроконтроллер: Arduino Nano (или любой с I²C)
  • Кнопки (3–4 шт.): включение, переключение каналов, громкость
  • Потенциометр 10 кОм — для регулировки громкости
  • Маленький динамик 8 Ом, 0.5–1 Вт
  • Усилитель звука: TDA2822M (или аналог — PAM8403, если хочешь SMD)
  • Конденсаторы: 100 нФ (для стабилизации питания), 10 мкФ (на выход усилителя)
  • Резисторы: 4.7 кОм (для pull-up на I²C), 10 кОм (для кнопок)
  • Провода, макетная плата или печатная плата
  • Батарейный блок: 2xAA или 3.7 В Li-ion с зарядкой

Если ты новичок — начни с готового модуля TEA5767. Он уже имеет все необходимые конденсаторы, резисторы и антенну. Стоит 200 рублей, и ты сразу переходишь к программированию, а не к пайке мелочей.

Как подключить всё вместе

Схема простая. Вот пошагово:

  1. Подключи TEA5767 к Arduino: SDA → A4, SCL → A5. На оба провода поставь pull-up резисторы 4.7 кОм к 3.3 В (если модуль не имеет их встроенных — проверь его схему).
  2. Питание TEA5767 — 3.3 В. Не подключай к 5 В! Он не выдержит. Arduino Nano выдаёт 3.3 В — используй его.
  3. Выход TEA5767 — аудио сигнал (левый и правый каналы). Подключи их к входу TDA2822M. Через конденсатор 10 мкФ — чтобы убрать постоянную составляющую.
  4. На выход TDA2822M — динамик. Подключи через конденсатор 100 мкФ, если динамик не встроен в корпус с фильтром.
  5. Потенциометр 10 кОм подключи между GND и 3.3 В, средний вывод — на вход громкости TDA2822M (если у него есть регулировка). Или просто включи его в цепь питания — это проще.
  6. Кнопки: одна — на увеличение частоты (подключена к GND и цифровому входу Arduino с pull-up), вторая — на уменьшение, третья — включение/выключение питания (опционально).

Вот как выглядит типичная схема подключения:

TEA5767 Arduino Nano Примечание
VCC 3.3 V Никогда не 5 В!
GND GND Общий земляной провод
SDA A4 Сигнал данных I²C
SCL A5 Синхронизация I²C
ANT Антенна (5–15 см провода) Не нужно делать петлю — просто прямой провод
OUT_L / OUT_R На вход TDA2822M Через конденсаторы 10 мкФ

Питание усилителя — от тех же батареек. TDA2822M работает от 1.8 до 15 В — идеально подходит для 2xAA (3 В) или Li-ion (3.7 В).

Программирование: как заставить его работать

Самое страшное — это код. Но на самом деле всё просто. Я использую библиотеку TEA5767 от GitHub (автор — F. S. M. de Oliveira). Установи её через менеджер библиотек Arduino.

Вот минимальный рабочий код:

#include <Wire.h>
#include <TEA5767.h>

TEA5767 radio;

void setup() {
  Wire.begin();
  radio.begin();
  radio.setFrequency(98.5); // Установи свою частоту
  radio.setStereo(); // Включить стерео
  radio.setVolume(7); // От 0 до 15
}

void loop() {
  // Проверка наличия сигнала
  if (radio.hasSignal()) {
    Serial.println("Сигнал есть");
  } else {
    Serial.println("Нет сигнала");
  }

  delay(1000);
}

Чтобы сделать кнопки, добавь проверку состояния пинов. Например, если кнопка на D2 нажата — увеличить частоту на 0.1 МГц:

if (digitalRead(buttonUp) == LOW) {
  float freq = radio.getFrequency();
  freq += 0.1;
  if (freq > 108.0) freq = 76.0;
  radio.setFrequency(freq);
  delay(200); // Защита от дребезга
}

Не забудь про дребезг контактов — без задержки в 150–200 мс кнопка будет «прыгать» по 10 частотам за секунду. Это самая частая ошибка новичков.

Что выбрать: модуль или чип отдельно?

Если ты не уверен — выбирай модуль. Но если хочешь понять, как это работает, и собрать что-то компактное — бери чип.

Критерий Готовый модуль Чип TEA5767 отдельно
Сложность сборки Очень низкая — просто паяй провода Средняя — нужно паять резисторы, конденсаторы, антенну
Размер 20×25 мм Можно уместить в 10×10 мм
Цена 150–300 руб. 50–80 руб. + 100 руб. на компоненты
Надёжность Высокая — проверено производителем Зависит от твоей пайки
Антенна Уже есть (маленький провод) Нужно припаять самому — 5–15 см
Для кого Новичок, спешащий, хочет слушать Технически подкованный, хочет понять и оптимизировать

Что делать в зависимости от ситуации

  • Ты хочешь просто слушать радио в машине или на кухне — бери готовый модуль, Arduino Nano, динамик и батарейки. Собери на макетной плате. Уложишься в 2 часа.
  • Ты хочешь встроить радио в корпус и сделать его портативным — бери чип TEA5767, SMD-усилитель PAM8403, маленький Li-ion аккумулятор 3.7 В, и печатную плату. Собери на PCB, подключи USB-зарядку. Получится компактный «радио-браслет».
  • Ты хочешь добавить экран и RDS — бери модуль с TEA5767 и OLED-экран 0.96 дюйма. Используй библиотеку SSD1306 — и выводи название станции, частоту и уровень сигнала. Это уже не просто радио, а полноценный приёмник.
  • Ты хочешь использовать в условиях слабого сигнала — добавь внешнюю антенну. Подключи 50–70 см провода к ANT-выводу. Не делай петли — просто подними её повыше. В квартире с бетонными стенами это даст +10–15% качества.

Частые ошибки — и как их избежать

  1. Питаешь TEA5767 от 5 В. Он выйдет из строя. Всегда проверяй напряжение на его VCC — должно быть 3.3 В. Даже если Arduino выдаёт 5 В — используй LDO-стабилизатор 3.3 В (например, AMS1117).
  2. Забыл pull-up резисторы на SDA/SCL. Без них I²C не будет работать. Даже если модуль «считается» с ними — лучше поставить 4.7 кОм на оба провода. Это 100% гарантия связи.
  3. Нет конденсатора на выходе усилителя. Если подключишь динамик напрямую — получишь гул и возможное повреждение динамика. Всегда ставь 10 мкФ или 100 мкФ между выходом усилителя и динамиком.
  4. Используешь длинные провода от модуля к усилителю. Аудиосигнал — слабый. Если провода длиннее 10 см — добавь экранированный кабель. Иначе будет шум от Wi-Fi и Bluetooth.
  5. Пытается настроить частоту без проверки сигнала. Ты можешь установить 102.3 МГц — но если там нет станции, ты не услышишь ничего. Добавь в код проверку hasSignal() — и если её нет, не выводи частоту на экран, а мигай светодиодом.
  6. Не проверяешь полярность батареек. Если перепутаешь + и — — усилитель TDA2822M сгорит за секунду. Всегда проверяй мультиметром перед включением.

Как сделать лучше — практические советы

  • Используй Li-ion аккумулятор 3.7 В с платой зарядки на TP4056. Он держит дольше, чем батарейки, и его можно заряжать через USB. Всё это умещается в коробке размером с зажигалку.
  • Если хочешь, чтобы радио включалось/выключалось кнопкой — поставь MOSFET (например, IRLZ44N) между батареей и питанием всей схемы. Кнопка управляется через Arduino — и ты можешь сделать «soft off»: нажал — выключилось, нажал ещё раз — включилось.
  • Для улучшения приёма в квартире — повесь антенну на батарею отопления. Это работает лучше, чем любая «внешняя антенна».
  • Если ты делаешь корпус — не используй металл. Он экранирует сигнал. Лучше пластик или дерево. Если хочешь металлический корпус — сделай окно под антенну и не закрывай её.
  • Добавь светодиод, который мигает при стерео-приёме. Это не нужно технически — но приятно. Когда сигнал сильный — мигает, слабый — горит тускло.
  • Если ты хочешь записывать радио — подключи USB-аудио-интерфейс к Arduino и сохраняй поток в MP3. Это уже другая задача, но технически возможно.

Итог: что делать прямо сейчас

Если ты читаешь это — ты уже ближе к результату, чем 90% людей, которые просто гуглят «как собрать FM-радио».

Твоя следующая задача:

  1. Зайди на AliExpress или в местный магазин радиодеталей — купи модуль TEA5767 (цена 150–300 руб).
  2. Купи Arduino Nano (около 250 руб) и TDA2822M (50 руб).
  3. Собери схему на макетной плате — 15 минут пайки.
  4. Загрузи код выше — 5 минут.
  5. Подключи батарейки — включи.

Если ты услышишь радио — ты сделал это. Не нужно ждать «идеального» результата. Первое радио не будет идеальным. Но оно будет твоим. И ты уже знаешь, как его улучшить.

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

Информация в статье носит ознакомительный характер. При работе с электроникой соблюдайте меры безопасности. Если вы не уверены в своих навыках — проконсультируйтесь с опытным электронщиком.

radio-blog.ru — электроника и технологии