Сборка компактного FM-радио на Arduino Nano и RDA5807M
Компоненты и материалы
| Arduino Nano R3 | 1 |
| Модуль OLED-дисплея 0.96" 64x128 (ElectroPeak) | 1 |
| FM-радиомодуль RDA5807M (RDA Microelectronics) | 1 |
| Аудиоусилитель PAM8403 | 1 |
| Динамик 3W | 1 |
| Тактильные кнопки 6x6 мм | 2 |
| Потенциометр 100 кОм | 1 |
| Разъем питания DC | 1 |
Необходимые инструменты
- 3D-принтер
- Паяльник и расходники
- Клейкий пистолет
- Суперклей
О проекте
Недавно я наткнулся на модуль RDA5807 — FM-тюнер в сверхкомпактном корпусе. Он недорогой и использует протокол I2C, что требует всего двух проводов для связи. Минимум проводов!
Мама слушала радио каждый день, пока старый приемник не сдох. Я решил сделать ей подарок — радио собственных рук.
В этом уроке я покажу, как подключить RDA5807 к Arduino, спроектировать и напечатать корпус на 3D-принтере. Я новичок в 3D-моделировании, поэтому дизайн простой, без излишеств.
План работы
Всё максимально просто и аккуратно. Arduino Nano — «мозг» проекта. Для работы с модулем установите библиотеку Radio (поддерживает также SI4703, SI4705, TEA5767).
Управление: одна кнопка — вход в режим выбора частоты, вторая — подтверждение выбора. Потенциометр листает пресеты (задаются в коде под ваш регион). OLED-дисплей показывает текущую частоту.
Аудиосигнал модуля слабый, поэтому нужен усилитель PAM8403. Я взял версию с встроенным потенциометром громкости и выключателем.
Подготовка FM-модуля
Модуль микроскопический, шаг контактов не подходит для макетных плат. Нужен переходник: вырежьте кусочек монтажной платы, припаяйте pin-разъемы и соедините тонкими проводами (подойдут отрезанные ножки компонентов) с контактами модуля.
Корпус на 3D-принтере
Корпус спроектирован в Fusion 360, печатался на Creality Ender 3. Файлы STL прилагаются. Переднюю панель покрасил в белый (филамент был одного цвета). В корпусе используются вставки M3 (впрессовываются паяльником). Внутренний ободок приклеивается суперклеем. В задней панели продираем отверстия 6 мм (под ручку усилителя) и 2 мм (антенна) — забыл добавить в модели.
Печатные платы
Две платы: основная (Arduino + FM-модуль) и передняя (кнопки). Использую разъемы (pin header male/female) для легкой сборки/разборки. Монтаж по схеме.
Программирование
Скетч во вложениях. Перед загрузкой отредактируйте два момента:
- Массив
stations[]— частоты станций без точки: 9110 = 91.10 MHz, 10110 = 101.10 MHz. Укажите количество станций в скобках:stations[12]. - В коде укажите
количество_станций - 1(у меня 11).
Сборка
- Клей-пистолетом зафиксируйте OLED и динамик на передней панели.
- Вставьте 3D-кнопки, капните суперклея на тактильные переключатели, наложите плату кнопок — совместите осевые линии.
- Закрутите потенциометр на панели.
- Смажьте ободок суперклеем, установите переднюю панель с компонентами.
- Соедините разъемами все модули с основной платой. Аудиовыход FM-модуля → вход усилителя (на задней панели).
- Капля горячего клея на разъемы — защита от выдергивания.
- Прикрутите заднюю панель винтами M3.
- Из клеевого стержня отрежьте 4 кружка 2–3 мм — ножки, приклейте на дно.
Запуск и наслаждение
Питание 5В. Если нет блока 5В — используйте 7805 от 12В.
Спасибо, что дочитали! Надеюсь, проект понравился и пригодился. Поделитесь, если повторите. Подписывайтесь на YouTube-канал — будут новые проекты!
Производственный процесс
- Надежная система учета рабочего времени на Arduino с RFID и Python
- Универсальный Android-пульт на Arduino, 1Sheeld и ИК-управлении
- Создание анимации и игр на LCD 16×2 с Arduino UNO
- Wi‑Fi интернет-радио на Raspberry Pi и Arduino: стриминг станций со всего мира
- Умный вольтметр на Arduino и смартфоне — простое DIY-проект
- Умная банка на ESP8266 + Arduino: мониторинг наполненности в реальном времени
- Точное измерение частоты и коэффициента заполнения на Arduino UNO
- Управление Arduino-роботом через Firmata и геймпад Xbox One
- Измерение расстояния в реальном времени: Ардуино-сонар с визуализацией в Processing
- Цифровой компас в реальном времени на Arduino и Processing