一、 简介

本方案基于 ESP32-S3-WROOM-1-N16R8 微控制器,搭配 SI4732-A10-GSR 收音机芯片和 1.9 寸 TFT 显示屏,利用 EC1106S 旋钮实现一款功能丰富、操作简便的收音机。该方案支持 FM/AM 收音、频率显示、音量调节、频道存储等功能,并可通过 TFT 显示屏提供友好的用户界面。

二、 硬件设计

1. 主要元器件

  • 主控芯片: ESP32-S3-WROOM-1-N16R8

  • 收音机芯片: SI4732-A10-GSR

  • 显示屏: 1.9 寸 TFT (30pin)

  • 旋钮编码器: EC1106S

  • 音频功放: 可根据需求选择合适的功放芯片,例如 PAM8403

  • 其他: 电阻、电容、电感、按键、扬声器、天线等

2. 硬件连接

  • ESP32-S3 与 SI4732:

    • I2C 通信: SDA (GPIOx), SCL (GPIOx)

    • 中断引脚: (可选)

  • ESP32-S3 与 TFT:

    • SPI 通信: MOSI (GPIOx), MISO (GPIOx), SCK (GPIOx), CS (GPIOx), DC (GPIOx), RESET (GPIOx)

    • 背光控制: (可选)

  • ESP32-S3 与 EC1106S:

    • A 相: GPIOx

    • B 相: GPIOx

    • 按键: GPIOx

  • 音频输出:

    • SI4732 音频输出连接至音频功放,功放输出驱动扬声器。

三、 软件设计

1. 开发环境

  • Arduino IDE 或 PlatformIO

  • ESP32 Arduino Core

  • SI4732 库 (例如: Radio)

  • TFT 显示屏驱动库 (根据具体型号选择)

  • EC1106S 旋钮编码器库 (例如: Encoder)

2. 主要功能实现

  • 收音机功能:

    • 初始化 SI4732 芯片,设置工作模式 (FM/AM)。

    • 通过 I2C 接口控制 SI4732 进行频率调节、音量控制、静音等操作。

    • 读取 SI4732 的 RSSI、SNR 等信号强度信息。

  • 用户界面:

    • 使用 TFT 显示屏显示当前频率、信号强度、音量等信息。

    • 实现菜单界面,方便用户进行频道存储、切换等操作。

  • 旋钮控制:

    • 使用 EC1106S 旋钮编码器实现频率微调、音量调节等功能。

    • 通过按键实现模式切换、静音等操作。

3. 代码结构

  • 主程序:

    • 初始化硬件 (SI4732、TFT、EC1106S 等)。

    • 循环读取旋钮编码器状态,更新频率、音量等参数。

    • 刷新 TFT 显示屏,显示当前状态信息。

  • SI4732 驱动:

    • 实现与 SI4732 芯片的 I2C 通信。

    • 封装常用的收音机控制函数,例如设置频率、读取信号强度等。

  • TFT 显示:

    • 实现图形界面绘制,例如频率显示、信号强度条、音量指示等。

  • EC1106S 驱动:

    • 读取旋钮编码器状态,计算旋转方向和步数。

    • 实现按键消抖处理。

四、 方案优势

  • 功能丰富: 支持 FM/AM 收音、频率显示、音量调节、频道存储等功能。

  • 操作简便: 使用旋钮编码器进行操作,方便快捷。

  • 界面友好: TFT 显示屏提供清晰直观的用户界面。

  • 易于扩展: 基于 ESP32-S3 平台,可方便地扩展其他功能,例如蓝牙连接、网络收音等。

五、 总结

本方案提供了一种基于 ESP32-S3-WROOM-1-N16R8 的收音机设计方案,具有功能丰富、操作简便、界面友好等优点。开发者可以根据实际需求进行修改和扩展,例如增加蓝牙功能、支持网络收音等。

具体源码、PCB、3D模型私信留言。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐