当前位置:网站首页>[DIY]如何制作一款个性的收音机
[DIY]如何制作一款个性的收音机
2022-07-06 12:25:00 【weixin_43771853】
收音机已经发展了很多年,并不是什么新鲜玩意,也和高科技不沾边了,包括现在听收音机的人群也不是很多,但是收音机的用途还是不能被否认的,只需要电就可以拥有一方天地,听着城市的实时动态,让眼睛得到片刻的休息,岂不快哉;
代码下载:
链接:https://pan.baidu.com/s/1zT8KMMTANlNrInpAZjjlgA
提取码:8888
如何自己打造一款收音机呢,以前手工课的时候很多小伙伴应该也都搞过收音机组装,一块板子,若干原件,电阻,电容放到对应的位置上面焊接好就OK了,两节电池一装,搞定了,但我觉得不够酷。
想把体积做的更小,要能够支持耳机,能够外放,甚至还要有界面显示。数字收音机的芯片把复杂的电路集成,缩小了体积。然后自己编程让收音机的功能完善起来,也是一件非常有趣的事情。
功能罗列一下:
1、具有收音机的功能,可以搜到至少15个台;
2、具有耳机和外放喇叭功能;
3、屏幕显示,可以显示时间、音量、电台频率、电量;
4、可以自动搜台,电台信息保存到flash中。
5、按键加减音量,按键切换电台;
6、按键进入省电模式,关闭屏幕,任意键点亮屏幕;
7、锂电池供电,充放电管理;
8、电量低自动进入休眠模式;
想做成以上功能,借助外力来完成,就是现成的东西拿来用,不要造轮子,没有时间耗不起,专注于自己的设计,想到了使用模块组合。
有一款收音机模块可以满足要求:
1、 全球频段兼容FM 76-108MHz(包括日本76-91MHz和欧美87-108MHz)。
2、 I2C串行数据总线接口通讯。
3、 内置LDO调整、低功耗、超宽电压使用范围(2.7-3.6VDC)。
4、 内置噪声消除、软静音、低音增强电路设计。
5、 功放采用D级音频放大,可通过SHND引脚控制静音。
6、 支持耳机接入,支持4Ω或8Ω喇叭接入,双通道3W功放。
7、 软件设置音量0~15级
8、 软件自动搜台,提供参考代码,不提供技术支持。
使用场景



喇叭为笔记本电脑音箱同一系列,音质清晰;

界面图片使用PS进行修剪,像素为320x240
预留出电台总数,音量位置,实时时钟显示的位置;
和当前电台频率显示位置,作为背景图片。
电量显示,网上找的一个图片觉得很符合,需要修一下图;



MCU:STM32F405RGT6
LCD:ILI9341 2.4寸 320x240
操作说明
1、上下键,声音加减,1~15
2、左右键,切换频道,根据自动搜索的频道循环切换,最大50个;
3、BtnA + BtnB,自动搜台,界面显示频道会自动同步变化,搜索完成自动保存内部Flash;
4、BtnA + 下键,熄灭屏幕,进入省电模式;按任意键恢复屏幕。
5、上电后从Flash中读取频道信息,方便切换流畅性。
6、电量显示,搜索到总频道数显示,音量显示,时钟显示,当前频道显示;
7、电量小于3.55V,自动进入休眠模式;需要对电池进行充电。
代码下载:
链接:https://pan.baidu.com/s/1zT8KMMTANlNrInpAZjjlgA
提取码:8888
推荐阅读:
芯片手册解读 | Linux底层 | 职场吐槽 | C语言视频
关注微信公众号,
关注微信公众号,回复“收音机模块”,下载数据手册及参考程序。
边栏推荐
- Design your security architecture OKR
- Detailed introduction of distributed pressure measurement system VIII: basic introduction of akka actor model
- Special topic of rotor position estimation of permanent magnet synchronous motor -- fundamental wave model and rotor position angle
- Tencent Android development interview, basic knowledge of Android Development
- OLED屏幕的使用
- 设计你的安全架构OKR
- PowerPivot - DAX (first time)
- Tencent byte and other big companies interview real questions summary, Netease architects in-depth explanation of Android Development
- PHP and excel phpexcel
- Unity makes AB package
猜你喜欢

"Penalty kick" games

Discussion on beegfs high availability mode

小孩子学什么编程?

02 基础入门-数据包拓展

Basic knowledge of lists

Node.js: express + MySQL实现注册登录,身份认证

Detailed introduction of distributed pressure measurement system VIII: basic introduction of akka actor model

【计网】第三章 数据链路层(4)局域网、以太网、无线局域网、VLAN

BUUCTF---Reverse---easyre

5. Wireless in vivo nano network: top ten "feasible?" problem
随机推荐
Special topic of rotor position estimation of permanent magnet synchronous motor -- Summary of position estimation of fundamental wave model
永磁同步电机转子位置估算专题 —— 基波模型与转子位置角
OLED屏幕的使用
Tencent T3 teaches you hand in hand. It's really delicious
Recyclerview not call any Adapter method :onCreateViewHolder,onBindViewHolder,
[weekly pit] information encryption + [answer] positive integer factorization prime factor
Tencent T2 Daniel explained in person and doubled his job hopping salary
Technology sharing | packet capturing analysis TCP protocol
Le lancement du jupyter ne répond pas après l'installation d'Anaconda
mod_ WSGI + pymssql path SQL server seat
How to handle the timeout of golang
PowerPivot - DAX (first time)
Wonderful coding [hexadecimal conversion]
Poj1149 pigs [maximum flow]
深度学习分类网络 -- ZFNet
小孩子學什麼編程?
Pytest (3) - Test naming rules
看过很多教程,却依然写不好一个程序,怎么破?
设计你的安全架构OKR
Continuous test (CT) practical experience sharing