FM-радио с использованием Arduino и RDA8057M
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 |
Необходимые инструменты и машины
![]() |
|
Об этом проекте
Недавно мне попался RDA5807 модуль, который представляет собой FM-радио тюнер в очень крошечной упаковке. Это очень дешево и использует протокол I2C для связи, что означает, что для связи с IC потребуются только два провода. Меньше проводки!
Моя мама раньше слушала радио каждый день, готовя еду, прежде чем радио умерло. Я хотел удивить ее радио, которое построил сам.
В этом уроке я покажу вам, как я связал RDA5807 IC с Arduino. Чтобы он выглядел хорошо, я спроектировал корпус и напечатал его на 3D-принтере. Я новичок в 3D-проектировании, так что это будет простой дизайн. Никаких наворотов.
Приступим!
Расходные материалы:
1x Arduino Nano
1x RDA5807M FM-радио тюнер IC
1x I2C OLED-дисплей
1x 3 Вт динамик
1x модуль усилителя звука PAM8403
2x 6x6 тактильных переключателя
1x 100k потенциометр
1x розетка постоянного тока
Необязательно:
3D-принтер
Шаг 1. План
План состоит в том, чтобы все оставалось простым и аккуратным. Никаких наворотов.
Мы будем использовать Arduino Nano в качестве мозга для нашего проекта. Тяжелая работа по общению с модулем уже проделана. Убедитесь, что вы установили библиотеку Radio. Есть много функций, с которыми вы можете поиграть. Примечание. Библиотека также работает с SI4703, SI4705 и TEA5767.
Одна кнопка на передней панели будет использоваться для перевода радио в режим «Выбор частоты», а другая кнопка - для выбора частоты. Поток будет использоваться для прокрутки предустановленных частот (которые могут быть установлены в коде в зависимости от вашего местоположения).
OLED-дисплей будет использоваться для отображения частоты, с которой он настроен.
Выходной аудиосигнал радиомодуля очень слабый и недостаточен для работы динамика мощностью 0 Вт. Модуль PAM8403 будет использоваться для усиления звукового сигнала. Есть много версий этого модуля. Я выбрал тот, у которого есть горшок для регулировки громкости, а также переключатель ВКЛ / ВЫКЛ.
Шаг 2. Подготовка модуля FM-радио



Как вы можете понять, посмотрев на картинку, она очень и очень крошечная! Вдобавок ко всему, расстояние между контактными площадками модуля не подходит для макетных / перфорированных плат.
Мы должны сделать для него коммутационную доску. Вырежьте небольшой кусок перфорированного картона размером с модуль. Убедитесь, что с каждой стороны есть не менее 5 отверстий. Припаяйте штыри разъема «папа», как показано на рисунке. Затем поместите модуль на плату и припаяйте тонкие провода между контактными площадками на модуле и контактами разъема. Я использовал обрезку ножек компонентов.
Шаг 3. Изготовление корпуса








Я новичок в 3D-проектировании, и это, безусловно, все, что я разработал. Корпус разработан в Fusion 360 и напечатан на принтере Creality Ender 3. Я прикрепил все файлы .STL, которые использовал.
Я покрасил переднюю пластину в белый цвет, так как у меня только один цвет нити.
Я вставил «резьбовые вставки M3» в отверстия на внешнем корпусе с помощью паяльника. Это было очень приятно!
Приклейте внутренний обод внутри внешнего тела с помощью суперклея.
Кроме того, сделайте отверстие 6 мм и 2 мм в «задней пластине» для ручки усилителя и антенны соответственно. Я забыл добавить их при проектировании.
Шаг 4. Подготовка печатных плат





Нам нужно сделать две печатные платы. Одна будет основной платой с Arduino и FM-модулем, а другая - для кнопок, которые будут установлены на передней панели.
Я использовал разъемы с использованием штырьков штекера и розетки для каждого компонента, чтобы его можно было легко подключать / отключать. Если хотите, можете пропустить этот шаг.
Выполните электромонтаж согласно схеме.
Шаг 5. Время писать код


Код был прикреплен сюда. Загрузите файл .ino и откройте его в Arduino IDE. Перед загрузкой необходимо изменить две вещи.
- Количество радиостанций и их частоты изменится. Быстрый поиск в Google позволит вам узнать станции и их частоты. После того, как вы перечислили их, добавьте их в массив «station []», как показано на рисунке. Вы должны опустить десятичную точку. Например, 9110 означает 91,10 МГц, 10110 означает 101,10 МГц и так далее. Также введите общее количество станций в квадратных скобках. В моем случае внутри массива 12 станций. Отсюда станции [12].
- Вычтите 1 из общего количества станций и введите его в код, как показано на втором рисунке. 11 в данном случае. Я знаю, что есть способ получше, но вместо этого у меня было много ошибок!
И загрузите код!
Шаг 6. Собираем все вместе













Приклейте OLED-дисплей и динамик к передней панели горячим клеем.
Поместите кнопки, напечатанные на 3D-принтере, на их место, добавьте каплю суперклея на тактильные переключатели и поместите печатную плату поверх кнопок, убедившись, что кнопки и переключатели совпадают.
Закрутите потенциометр на передней панели.
Нанесите большое количество суперклея на внутренний обод и поместите всю переднюю пластину со всеми компонентами на обод.
Выполните все соединения компонентов с главной платой. Подключите аудиовыход радиомодуля к усилителю, который установлен на задней панели.
Нанесите немного горячего клея на разъемы, чтобы снять напряжение.
Прикрутите заднюю панель винтами M3.
Наконец, разрежьте горячий клей на 4 круга толщиной около 2-3 мм и приклейте их внизу, как показано. Они будут служить резиновыми ножками.
Готово!
Шаг 7. Наслаждайтесь!
Включите радио, используя источник питания 5 В. Если вы не можете найти регулятор на 5 В, используйте стабилизатор напряжения 7805 с напряжением 12 В. в качестве входа.
Спасибо, что дожили до конца. Надеюсь, вам всем понравился этот проект и вы узнали что-то новое сегодня. Дай мне знать, если сделаешь его для себя. Подпишитесь на мой канал на YouTube, чтобы увидеть больше новых проектов. Еще раз спасибо!
Код
- FMRadio_final.ino
FMRadio_final.ino Arduino
Нет предварительного просмотра (только загрузка).
Github
https://github.com/mathertel/Radiohttps://github.com/mathertel/RadioИзготовленные на заказ детали и корпуса
Лицо% 2BPlate.stl Назад% 2BPlate.stl Button.stl Внутренний% 2BRim.stl Knob.stl Внешний% 2BBody.stlСхема
Производственный процесс
- Система посещаемости с использованием Arduino и RFID с Python
- Универсальный пульт дистанционного управления с использованием Arduino, 1Sheeld и Android
- ЖК-анимация и игры
- Интернет-радио Pi-Arduino
- Вольтметр своими руками с использованием Arduino и смартфона
- IOT - Smart Jar с использованием ESP8266, Arduino и ультразвукового датчика
- Измерение частоты и рабочего цикла с использованием Arduino
- Управление Arduino Rover с помощью Firmata и контроллера Xbox One
- Сонар с использованием Arduino и отображение при обработке IDE
- Как сделать компас с помощью Arduino и Processing IDE