| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32F103+全彩LED显示屏+万年历闹钟+FFT音频频谱制作 -> 正文阅读 |
|
[嵌入式]STM32F103+全彩LED显示屏+万年历闹钟+FFT音频频谱制作 |
目录 1.硬件总体框图????????工作原理:电脑,手机等外部设备3.5mm耳机孔输出音频信号,经过继电器模块的音源选择后,继电器模块的输出分为两路,一路给有源音响播放音乐,一路经过音频信号调理电路输入到STM32单片机的引脚进行采样和AD转换后由程序进行FFT变换,将FFT变换结果的幅值谱显示在LED全彩显示屏上。语音播放模块用于播放闹钟语音报时及闹铃音乐。默认情况下继电器模块选择外界设备的音源,当闹钟时间到时,继电器动作切换为语音模块音源。 2.材料准备STM32F103核心板? 全彩LED显示屏单元板 P4? 64*32? (16扫,75接口)满足此条件的LED屏都行,大家可以上某宝买 DS3231模块 双路继电器模块 ?DY-SV5W语音模块 按键模块(自制) 音频调理电路(自制) 若干个3.5mm音频母座,一条3.5mm公对公音频线 16P的牛角座及其16P的灰排线 能够提供3A左右的5V直流电源一个,可以是开关电源或电源适配器 由于LED显示屏的内部芯片是5V逻辑电平为了确保单片机与LED显示屏通信正常建议增加两块八路3.3V转5V的电平转换模块,确保电平匹配通信正常。 3.IO口的连接看程序中的宏定义即可 这里说一下LED显示屏75接口的定义 ?????????由于LED显示屏是64*32的,75接口的ABCD是行选信号输入,因此最多只能选择16行,而LED显示屏是32行的,因此这里分为两个16行的上下半屏同时进行动态扫描,因此RGB数据也分为上下半屏,DR1表示上半屏的红色数据串行输入,DR2表示下半屏的红色数据串行输入,其他的类似。CLK是移位脉冲,LED屏一共有64列,因此每显示一行都需要移入64次的数据,并且上下半屏的RGB数据需要同时移入,因为每次行选中的是上下半屏各一行。LAT是用于锁存数据,这样数据移位时,不会改变锁存器的输出。OE是使能输入,当OE低电平时打开整个屏幕的显示,OE高电平时关闭整个屏幕的显示。利用OE就可以很方便的通过PWM控制整体亮度,以及消除鬼影。 4.自制的模块按键模块?原理图 ?图中IO连接只是一个示例,大家可以自己定义。 接下来就是焊接。。。 按键模块实物? ?音频调理电路 ? ? ? ? 电脑或手机耳机孔输出的音频信号是交流小信号,信号的振幅较小,而STM32单片机AD转换能够转换的信号是0V~3.3V的直流信号,因此音频信号需要经过音频信号调理电路抬升电平并且进行一定程度的放大,才能输入到STM32单片机的引脚进行采样和AD转换。因此利用可以作为运放使用的耳放TDA1308,使它工作在单电源供电3.3V模式下的反相比例放大,通过R1和R2分压向同相输入端提供直流偏置电压,将音频信号的电平抬升1.65V,这样输出的音频信号就是在1.65V电平基准上做摆幅的直流信号了。这里只取左右声道的其中一个声道进行采样,并且根据傅里叶变换的原理,信号反相并不影响其幅值谱,只对相位谱有影响,而我们显示的音乐频谱是幅值谱,所以不影响显示的正确性。?当然也可以将电路做成反相加法电路,将左右声道合成为一路输出。 黄色框选中的即音频信号调理模块? 接下来是各模块的焊接。。。 ?最终的电路板整体 ?5.源程序及其相关模块资料?链接: https://pan.baidu.com/s/1qWe_9N8qMwU5upi2mXLJLQ 提取码: j3ex? 有关FFT算法部分的程序,建议参考:第四章快速傅立叶变换(FFT) - 百度文库 (baidu.com) 6.最终效果演示https://www.bilibili.com/video/BV1dw41197LB?share_source=copy_web |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:33:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |