Свой FM-радио на RDA5807 и Arduino Pro Mini
Компоненты и материалы
| Компонент | Количество | Примечание |
|---|---|---|
| Модуль FM-радио RDA5807 | 1 | Поддерживает RDS |
| Arduino Pro Mini 3.3V / 8MHz | 1 | |
| Дисплей Nokia 5110 (PCD8544) | 1 | Графический, низкое потребление |
| Аккумулятор 18650 Li-Ion | 1 | |
| Корпус для 18650 | 1 | |
| Зарядное устройство USB Li-Ion (Adafruit или аналог) | 1 | |
| Аудио усилитель (например, PAM8403) | 1 | |
| Фоторезистор | 1 | Для автояркости |
| Транзистор NPN (общего назначения) | 1 | Для управления подсветкой |
| Резисторы: 100 Ом, 10 кОм (2шт), 300 кОм, 1 МОм | 1 набор | |
| Ротационный энкодер с кнопкой | 1 | Управление |
| Динамик(и) | 1 |
Инструменты
- Паяльник
Программное обеспечение
- Arduino IDE
- Библиотека U8glib для дисплея Nokia 5110
О проекте
Краткое описание
Самодельный FM-приемник на базе модуля RDA5807 с поддержкой RDS. Управление — Arduino Pro Mini 3.3V, питание — литий-ионный аккумулятор 18650 с USB-зарядкой. Дисплей Nokia 5110 показывает частоту, название станции (RDS), историю станций, уровень сигнала. Подсветка дисплея регулируется автоматически по фоторезистору.
Ключевые особенности
- Питание от 18650 с USB-зарядкой.
- Графический дисплей Nokia 5110 с дружелюбным интерфейсом.
- История последних 4 станций (сохранение в EEPROM).
- Отображение RDS-информации (название станции).
- Автоматическая регулировка яркости подсветки.
Модуль RDA5807 работает от 3.3V, поэтому идеально сочетается с Arduino Pro Mini 3.3V. Внутренний стабилизатор Arduino обеспечивает питание модуля и дисплея. Аудиоусилитель запитан напрямую от аккумулятора для большей громкости. Для дисплея используется библиотека U8glib (быстрая, надежная, поддерживает множество шрифтов, в том числе кириллицу).
Управление радио
Управление осуществляется ротационным энкодером с кнопкой. Два режима:
- Автоматический поиск (по умолчанию): вращение энкодера переключает станции вверх/вниз с автопоиском сильного сигнала.
- Ручной настрой: короткое нажатие кнопки переключает режим. В этом режиме вращение меняет частоту дискретно.
История последних 4 станций сохраняется в EEPROM каждую минуту после смены станции (чтобы не изнашивать память). Долгое нажатие (~2 сек) открывает меню истории: вращением выбираете станцию, нажатием переключаетесь на неё.
Заключение
Модуль RDA5807 — отличный FM-приемник с удобными библиотеками. Для приема далеких станций нужна длинная антенна. Качество звука приемлемое; более мощный усилитель уменьшит время работы от батареи.
Исходный код
Две версии в репозитории: full (со всеми функциями) и lite (без управления подсветкой и истории). Полная версия протестирована на железе.
Репозиторий: github.com/sfrwmaker/fm_radio_rda5807
Схема подключения
Схема в формате Fritzing показывает подключение RDA5807 по I2C (A4/A5), дисплея Nokia 5110 (SPI-подобный интерфейс), энкодера, фоторезистора, усилителя и питания.
Производственный процесс
- Лаборатория делителя напряжения: дизайн, измерение и верификация закона Кирхгофа о напряжении
- Сборка картофельной батареи: Пошаговое руководство по DIY электрохимическому питанию
- Схемы кристаллических и транзисторных радиоприёмников: от простых детекторов к интегрированным AM/FM приёмник…
- Основы конструкции батарей: элементы, внутреннее сопротивление и соединения
- Понимание емкости батарей: ампер-часовые рейтинги и тестирование состояния
- Резонанс в последовательном LC-контуре: нулевой импеданс и пики напряжения
- Эволюция и инженерия радиотехнологии: от Маркони до наших дней
- Батареи: от вольтовой стопки к современным литийным элементам
- Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
- Графиновые батареи: будущее долговечной энергии