站内搜索
发作品签到
专业版

duRadio双模收音机

工程标签

1.6k
0
0
23

简介

基于ESP32的网络、FM 双模式收音机。

简介: 基于ESP32的网络、FM 双模式收音机。
复刻成本:80

开源协议

GPL 3.0

创建时间:2025-01-21 12:47:47更新时间:2025-09-04 09:40:41

描述

前言

最近一年复刻了不少开源的收音机4735、4732、56686、7751、wolf各有特色,但是感觉普遍操作有点复杂,特别是对年长者不太友好。另外有的方案虽然可以刷网络收音机,但网络收音机和本地收音机使用时需要刷不同的固件,这都非常不方便。所以有了设计一款用5向按键+编码器操作;网络和本地收音机模式可以无缝切换的收音机想法。硬件设计都是参考了一些开源方案、设计的软件是嘉立创EDA、代码用Arduino IDE, 代码我也不会,主要是AI帮我写的,这些都是免费开源的。所以,硬件和代码你可以随意修改使用,只要不说你是原创就行。目前发现问题:电池ADC读数为0,查了下可能是ESP32 WiFi跟ADC2冲突,需要更换电池检查电压引脚。FM音量为0时,声音没有静音。以上分享,欢迎交流。

硬件ESP32-WROVER,RDA5807FP,1.9寸TFT彩屏

主要特点

双模式操作:FM 收音机 + 互联网收音机
智能音频切换:通过 74HC4053D 自动选择音频源I2S
网页界面:WiFi 配置和电台管理
丰富的显示功能:170x320 彩色显示屏,可显示时间、状态和 RDS 信息
直观的控制功能:5 个按钮 + 旋转编码器
电池供电:3.7V 锂离子电池,带充电电路
高品质音频:I2S DAC 和 MAX98357A 放大器

使用说明
基本操作

开/关机:使用主电源开关
模式选择:长按播放按钮切换模式
音量控制:使用音量+/音量-按钮
电台选择:

FM:使用旋转编码器进行频率微调,使用上一个/下一个按钮进行收藏电台的切换
互联网:使用上一个/下一个按钮切换电台播放列表

播放/暂停:按播放按钮(仅限互联网模式),FM模式播放静音切换

显示信息

顶部:当前时间(通过互联网同步)
模式指示灯:显示FM收音机或互联网收音机
状态:播放/停止,音量
FM模式:频率,信号强度,RDS信息
互联网模式:电台名称,电台编号
底部:控制指令,WiFi状态

网页界面功能

WiFi管理:更改网络设置
电台管理:添加/删除互联网电台
设备控制:通过网页浏览器进行远程控制
状态监控:实时设备状态
固件更新:无线更新(如已启用)

Dual Radio Receiver - Setup Guide

Arduino IDE Setup

1. ESP32 Board Installation

  1. Open Arduino IDE
  2. Go to File → Preferences
  3. Add ESP32 board URL to Additional Board Manager URLs:
     
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  4. Go to Tools → Board → Boards Manager
  5. Search for "ESP32" and install ESP32 by Espressif Systems
  6. Select board: Tools → Board → ESP32 Arduino → ESP32 Wrover Module

2. Required Library Installation

Install via Library Manager (Sketch → Include Library → Manage Libraries)

Library Name Author Version Purpose
ESP32-audioI2S schreibfaul1 Latest Internet radio streaming
PU2CLR RDA5807 pu2clr Latest FM radio control
OneButton Matthias Hertel Latest Button debouncing
RotaryEncoder Matthias Hertel Latest Rotary encoder handling
TFT_eSPI Bodmer Latest Display driver
ArduinoJson Benoit Blanchon 6.x JSON parsing
NTPClient Fabrice Weinberg 3.2.1 Get time from NTP server

Manual Installation Required

PU2CLR RDA5807 Library:

 
bash
# Download from GitHub
git clone https://github.com/pu2clr/RDA5807.git
# Copy to Arduino/libraries/ folder

3. TFT_eSPI Configuration

IMPORTANT: The TFT_eSPI library requires manual configuration.

  1. Locate the TFT_eSPI library folder:
    • Windows: Documents/Arduino/libraries/TFT_eSPI/
    • macOS: ~/Documents/Arduino/libraries/TFT_eSPI/
    • Linux: ~/Arduino/libraries/TFT_eSPI/
  2. Open User_Setup.h file in the library folder
  3. Replace the entire content with the configuration provided in the TFT Config artifact
  4. Save the file

4. ESP32 Board Configuration

In Arduino IDE, set these options:

 
Board: "ESP32 Wrover Module"
Upload Speed: "921600"
CPU Frequency: "240MHz (WiFi/BT)"
Flash Frequency: "80MHz"
Flash Mode: "QIO"
Flash Size: "16MB (128Mb)"
Partition Scheme: "Huge APP (3MB No OTA/1MB SPIFFS)" 
Core Debug Level: "None" PSRAM: "Enabled"

Pin Connection Summary

ESP32-WROVER Pin Assignments

I2S Audio (Internet Radio)

cpp
#define I2S_DOUT 25    // Data out
#define I2S_BCLK 26    // Bit clock
#define I2S_LRC  27    // Left/Right clock

I2C Bus (FM Radio)

cpp
#define I2C_SDA  21    // Data line
#define I2C_SCL  22    // Clock line

SPI Display (ST7789)

cpp
#define TFT_MOSI 23    // Master Out Slave In
#define TFT_SCLK 18    // Serial Clock
#define TFT_CS   5     // Chip Select
#define TFT_DC   2     // Data/Command
#define TFT_BL  4     // Reset

Control Inputs

cpp
#define BTN_PLAY_PAUSE 14  // Play/Pause button
#define BTN_PREV       12  // Previous station
#define BTN_NEXT       34  // Next station  
#define BTN_VOL_UP     35  // Volume up
#define BTN_VOL_DOWN   36  // Volume down

#define ROT_PIN1       33  // Rotary encoder A
#define ROT_PIN2       32  // Rotary encoder B

System Control

cpp
#define AUDIO_SEL      13  // Audio source selector
#define BATTERY_PIN    39  // Battery voltage monitor

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
duRadioV5.3.1.mp4
32
2
WeChat_20250707102258.mp4
27
3
duRadioV5_3_1_20250806.zip
68
4
duRadioV5_3_1_bin.zip
40
5
合并固件.bin
35
克隆工程
添加到专辑
0
0
分享
Logo GIF0
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航