最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

当前位置: 主页 > 电脑DIY > 电脑DIY >

USB音量电平表 - 看得见的音符

时间:2012-09-07 23:33来源:未知 作者:admin 点击:
编译: Gibson 这个项目是一个RGB LED音量电平表(实际就是我们播放器上面显示的那个EQ条),这个表通过USB与上位机(window7 或 vista系统)连接。能用LED实时显示当前声音的电平。 硬件电路: 这个项目的硬件电路非常简单明了,这个Demo板包括了:5V开关电

编译:Gibson

这个项目是一个RGB LED音量电平表(实际就是我们播放器上面显示的那个EQ条),这个表通过USB与上位机(window7 或 vista系统)连接。能用LED实时显示当前声音的电平。

USB音量电平表 - 看得见的音符

硬件电路:

这个项目的硬件电路非常简单明了,这个Demo板包括了:5V开关电源,一个PIC单片机(带USB通信功能),3个TLC5940(16路LED驱动芯片),16个高亮度RGB LED。

电路图&PCB:RGB_Bargraph_schematic_and_PCB.zip

USB音量电平表 - 看得见的音符


这个电路中唯一值得留心的地方就是电路图中靠近晶振的两个大电容。当TLC5940以PWM调光的方式驱动LED时,由于高速高速开关切换,产生很多噪声,而这两个电容有助于降低噪声。如果没有它们或许你的PIC单片机会重启,或者发生其他糟糕的事。

3片TLC5940级联,因此这些LED并非以复用的方式连接,每一个LED都是直接受控制的。当然,也可以把代码加以修改移植,使其能工作在LED控制复用的状态下。

固件(Firmware):
这个固件是基于一个作者开发的软件。链接在这里
http://www.waitingforfriday.com/index.php/Open_Source_Framework_for_USB_Generic_HID_devices_based_on_the_PIC18F_and_Windows

固件下载:RGB_Bargraph_Firmware.zip

作者在这个软件的基础之上加了两层,底层是TLC5940的驱动库,TLC5940是一个16通道的,支持4096级亮度(基于PWM方式,且各通道亮度独立)的LED驱动芯片。这个驱动库支持单片TLC5940,或者你可以将多片级联。理论上来说,你可以通过一片PIC单片机控制(PIC单片机是连接PC机与TLC5940的桥梁)20片TLC5940(意味着你总共有16*20=320个LED),作者这里级联了三片TLC5940(共计48通道,16个RGB LED)。

顶层则是RGB LED控制,这一层通过TLC5940驱动库实现。包括的功能有LED淡入淡出,颜色平衡,和一堆相当有用的用来控制LED的功能。USB控制端有两条命令,一条是上位机指定所有的LED亮度(由0~255来表示),第二条命令式用来设定所需的LED淡出时间(库文件中同样有淡入时间,但是对电平表来说没有用到)

上位机软件:

上位机软件是用Visual Studio C#2010写的,兼容Windows 7 和Vista。由于使用的音频API缘故,这个上位机软件不能使用在windows XP环境下(XP不支持这个API)

上位机软件源代码:RgbBargraphDisplay_WVS2010.zip

USB音量电平表 - 看得见的音符

这个上位机软件由三个部分组成:
1.开源的C#库,USB generic HID communication(就是上文提到的作者自己开发的一个软件)。
2.核心的音频API,由Ray Molenkamp所写的。这个API相当强大,你可以用它来抓取音轨的信息,并展示在一个LCD,或者其他USB音频控制的设备。
3.VU电平表显示代码

正如你所见,这个软件可以进行一堆个性化的设置,你可以设置显示阻尼(Display damping ,它跟随音乐跳跃的速率,更大的阻尼使跳跃更缓和,但是有失精准),可以设置淡出速度(fade off ),也可以设置起始和结束时的颜色(上位机自动调节中间显示时的颜色), ,还可以设置显示方式,只单向显示左右声道的平均值,从中间向两边显示两个声道,从两边向中间显示两个声道

自己的想法:

感觉这个不是太好弄,首先,这个PIC单片机用的人估计不太多,第二作者自己以前编了一个USB上位机,是在这个基础上开发的,虽然可以找到作者的源代码,但是估计不好搞定(我没有写过上位机软件,不太了解,随便说说的呵呵),而且上位机还只能在Windows7或者Vista下面用。

毕竟这里PIC单片更主要的功能,个人认为不过是个USB桥接芯片作用。

如果是我的话,直接用一个常用的单片机(AVR,8051)来控制TLC5940,然后用串口通信,上位机软件也写成串口通信的形式,估计简单不少,而且如果电脑没有串口,可以用串口转USB芯片解决,这样的话可能硬件上面麻烦一点,但是估计软件开发简单(哈哈,这也是我个人的看法,我对上位机软件很不熟悉)。

还有就是,它的那个TLC5940芯片比较强大,但是我淘宝了一下,貌似有点贵,十多元一片,貌似ST2221C便宜一些,几块钱,功能可以替代,但是引脚不是兼容的。。。意味着要改程序(上位机和单片机)。
结果这样一整,就完全本土化了。。。和原来的东西都不一样(从电路到上位机软件都改版了)。。。


下载地址: PCB电路图 固件下载

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容