广播发烧网

68元,野生程序员 DIY 桌面收音机,FM广播、 天气预报、 老黄历、温湿度显示、迷你时钟

广播发烧网 发布于 电路及维修

文末获取项目完整源码

野生程序员在闲暇之余手搓了一台桌面FM收音机,使用乐鑫ESP32-S3做为主控,FM芯片使用RDA5807,集成CS4344 I2S音频芯片可以播放音频、集成INA199可以采集整机工作电流,拥有8个功能:网络时钟、FM广播、天气预报、B站数据统计、老黄历、背光调节、定时关机、温湿度显示,你可以手拨右侧旋转编码器进行交互。

FM收音机模块

桌面FM收音机采用的RDA5807收音机模块,RDA5807是一颗调频广播单芯片接收调谐芯片,工作电压范围2.7~3.3V。只需要外部非常少的元器件,便可以组成一个完整的调频广播接收机。

时间校准

时钟校时部分采用了一个通用的时间同步服务,选择连接时间服务器IP :cn.pool.ntp.org,再通过代码获取时间。

 

软件开发

在arduino中采用RDA5807收音机模块库<RDA5807.h>来完成FM收音部分,首先也是最容易忽视的一步,通过原理图可知:FM和ESP32板输入的选择由RS2101XC6的模拟开关决定,IN输入信号为low则输出的是No引脚上的信号;IN输入信号为High,则输出是NC引脚上的信号。因此若要使用FM模块,则需将1号对应AUDIO_SEL的电平调高。其次,也是观察电路图,和音频放大器的技术规格说明,只有当1号对应引脚SHUTDOWN为高电平时才能将输入的音频信号处理输出给扬声器输出。


右侧旋转编码器

FM收音机部分,设置“切换模式”,“提高音量”,“降低音量”,“换台”四个功能。

 

屏幕显示部分

采用的是典型的OLED驱动<Adafruit_SSD1306.h>,将其用于与收音机的信息显示。

3D打印文件
 
PCB板卡正反面
 

Gitee 项目:gsm-fm/gsm-fm-software

文章目录