LED音乐频谱之概述
点击打开链接 转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/37929733
这个LED音乐频谱是我在学51单片机的时候做的一个小项目。今天再看此代码仍有非常多不规范之处,但因为硬件已经送人,没法继续调试,希望小伙伴们引以为戒。写此文主要是想让大家知道当中的原理,知道怎么做固然重要,更重要的是知道为什么要这样做。
一.效果展示
有可能有的人第一次听说过这个东西,但实际上这个东西非常早就有人做出来了。
为了让小伙伴们能有一个感性的认识先发下我的成品连接和图片。
效果:http://v.youku.com/v_show/id_XNjU3NDEwOTAw.html
二.实现功能
功能 实现 原理
a.开机LOGO : 就是再视频中开机显示的“若云MCU” LED点阵
b.频谱显示 : 随着音乐输出跳动的LED FFT(高速傅氏变换)
A/D转换
c.四种显示效果: 我按下按键切换频谱的显示模式 位运算
d.亮度切换 : 我按下按键音乐频谱的亮度会发生变化 PWM调光
e.声音输出 : 视频中的音乐输出 TDA2822功放
LED音乐频谱说通俗一点,就是将声音信号通过FFT从时域转换为频域(说的可能还是有点麻烦)。当中的转换是通过A/D来实现的。我们通过16*16的点阵观察到的图像就是他的频域信号。由左到右逐渐频率添加。LED点阵就是我们在大街上看到的滚动的广告牌。显示的效果是通过位运算的转换,转化为不同的显示模式。
亮度则直接使用STC12单片机自带的D/A。声音的输出用的是一个TDA2822功放芯片。我曾经用他做过小音箱。5V的输入,效果还能够。
看到这里,你仍有可能对当中的细节实现不是非常清楚,别操心,我会负责究竟。接下来的博客我会继续带小伙伴们分析这个东东的。
三.软件框图
LED音乐频谱之概述的更多相关文章
- LED音乐频谱之输出数据处理
		
转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/38023539 一.PWM调节 1.初始化 void DACInit() { C ...
 - LED音乐频谱之输入数据处理
		
转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/38023431 通过前面的介绍我们知道.声音信号要通过AD转换,变成我们可以处理 ...
 - LED音乐频谱之点阵
		
转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/37967455 一.硬件 watermark/2/text/aHR0cDovL2 ...
 - Three.js + HTML5 Audio API 打造3D音乐频谱,Let’s ROCK!
		
继续玩味之前写的音乐频谱作品,将原来在Canvas标签上的 作图利用Three.js让它通过WebGL呈现,这样就打造出了一个全立体感的频谱效果了. 项目详情及源码 项目GitHub地址:https: ...
 - STM32通过FSMC驱动3.2寸液晶屏实现的音乐频谱
		
视频演示: http://player.youku.com/player.php/sid/XNDcyMDgwMTE2/v.swf 源码下载: lattice_ music _tft.rar(1.42 ...
 - android获取和展示音乐的频谱
		
做了个音乐播放器 就一直想做个加一个音乐频谱的展示界面 觉的这是一个好玩的东西,可以将耳边动听的声音形象化,仿佛眼前可以看到声音一样. 但是我在文档的开发者指南里没有讲任何有关音乐频谱的东西,最后还是 ...
 - 【玩转单片机系列001】 08接口双色LED显示屏驱动方式探索
		
前些日子,从淘宝上购得一块08接口的双色LED显示屏(打算做个音乐频谱显示器),捣鼓了好几天,终于搞清楚了其控制原理,在这里做个总结,算是备忘吧. 1.LED显示屏的扫描方式 LED显示屏的扫描方式有 ...
 - HTML5打造的炫酷本地音乐播放器-喵喵Player
		
将之前捣腾的音乐频谱效果加上一个播放列表就成了现在的喵喵播放器(Meow meow Player,额知道这名字很二很装萌~),全HTML5打造的网页程序,可本地运行也可以挂服务器上用. 在线Demo及 ...
 - H5录音音频可视化-实时波形频谱绘制、频率直方图
		
这段时间给GitHub Recorder开源库添加了两个新的音频可视化功能,比以前单一的动态波形显示丰富了好多(下图后两行是不是比第一行看起来丰满些):趁热打铁写了一个音频可视化相关扩展测试代码,下面 ...
 
随机推荐
- mysql root用户密码个性
			
对名为“mysql”数据库下的表“user”进行操作如下语句:update user set password=PASSWORD("your_password") where us ...
 - nginx实战二
			
nginx架构分析 1.nginx模块化 Nginx涉及到的模块分为核心模块.标准HTTP模块.可选HTTP模块.邮件服务模块以及第三方模块等五大类. https://coding.net/u/ami ...
 - 实现WinForm窗体的美化(借助第三方控件)
			
在winform项目中,其实皮肤就是一个第三方的控件,名字是IrisSkin4.dll只要添加到你的工具箱里就可以和其它控件一样使用了 一.添加控件IrisSkin4.dll.方法: 先把IrisSk ...
 - max_int和-1
			
#include <stdio.h> int main(int argc, char *argv[]) { unsigned ; ) printf("umax:%u == -1\ ...
 - Atitit.500 503 404错误处理最佳实践oak
			
Atitit.500 503 404错误处理最佳实践oak 1. 错误处理的流程(捕获>>日志>>db>>email alert) 1 2. 错误的捕获:strut ...
 - gzexe加密 脚本
			
sh-4.1# vi GZEXE.sh sh-4.1# cat GZEXE.sh #!/bin/bash echo "gzexe加密实验!!!" >> Cgzexe.l ...
 - 【亲测好用!】shell批量采集百度下拉框关键词
			
[亲测好用!]shell批量采集百度下拉框关键词 SEO工具 方法 11个月前 (11-18) 2153浏览 3条评论 百度已收录 一直想写一篇用shell采集百度下拉框关键词的教程,个人感觉用 ...
 - hdoj 4526 威威猫系列故事——拼车记
			
威威猫系列故事——拼车记 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
 - swift 运算符和控制流程
			
闭区间运算符 闭区间运算符(a...b)定义一个包含从a到b(包括a和b)的所有值的区间,只能是数字 for index in 1...5 { println("\(index) * 5 = ...
 - jquery 对table的一些操作   怎么获取tr下的第二个td元素?
			
1.HTML结构 <table id = "test"> <tr><td>1</td><td>1</td>& ...