步骤1:所需的材料/软件以及在何处获取它们
所需的材料是:
1)一个Arduino(实际上与哪个版本/版本无关)
2)LED矩阵(对于此Instructable,我使用32x16双色矩阵,但是任何矩阵都可以工作)
3)如果您的LED矩阵未集成驱动芯片,我将更深入地解释。
廉价的LED矩阵:Sure Electronics:http://stores.ebay.com/Sure -Electronics
我使用的显示器:http://www.ebay.com/itm/P4-3 2X16-RG-Bicolor-LED-3mm-Dot-Matrix-Unit-Board-/350527814626?
必需软件:
1)可以在此处找到Arduino IDE(我正在使用1.0版):http://arduino。 cc/en/Main/Software
2)在此处找到处理IDE:http://processing.org/download/
步骤2:接线
Sure Electronics的此矩阵的接线非常简单。 32x16双色(红色,绿色)使用集成在矩阵背面的四个HT1632C驱动器芯片。驱动器芯片实际上负责控制矩阵中的所有LED。可以说,这个特定的板是32x16“像素”。但这是双色矩阵,因此该板上实际上有1024个LED。现在有很多LED,但是由于驱动器芯片的缘故,我们仅使用4pins + 5V和GND将Arduino连接到显示器。该显示器还可以通过菊花链方式连接到其他3个显示器,但仍然仅需Arduino的4个引脚即可。
对于其他矩阵,接线范围很困难。标准的8x8矩阵需要16个引脚来控制,而无需驱动器芯片。我将在下一步解释驱动器芯片。
所需的4个引脚分别用于显示器的数据,CLK,CS和WR。驱动器芯片上的连接器应标有这些标签或在芯片的数据表中注明。我已经包括了32x16显示器的接线,如下所示。下面的Arduino上使用的引脚可以更改,但是必须更改编码中的值以匹配。
步骤3:驱动器芯片
对于8x8矩阵,建议使用MAX7219。该驱动器芯片可以控制8x8矩阵或8个7段显示器,并且仅使用4个引脚以及+ 5V和GND。 MAX7219也可以菊花链形式连接至另外9个驱动器。还有其他可用的驱动器芯片,但MAX7219具有一个Arduino库,使初学者更容易编码。
步骤4:编码
此频谱分析仪由两部分组成:处理部分,对计算机的立体声混音执行快速傅立叶变换(FFT),然后将音频分成16个频段,找到其幅度并将此数据发送到Arduino的;然后是Arduino部分,它从处理部分中获取数据,并根据每个频带的幅度点亮显示屏上的LED。
处理:
在处理代码中,您可以定义自己的频率对应于显示屏上的#LED的波段范围和幅度范围。我包括的代码将形成16条带,每条带宽2条,以填充显示屏的范围。这也比向Arduino发送32个频段要快。发送到Arduino的数据越多,显示器的延迟就越多。
Arduino:
您需要将包含的库提取到 Documents Arduino libraries文件夹中。如果库文件夹不存在,请制作一个标有“ libraries”的库。第一个库ht1632c用于像我的显示器。我还包括了与MAX7219一起使用的ledControl库。
此程序中需要两行重要内容:
#include
ht1632c dotmatrix = ht1632c(PORTD,7,6 ,4、5,GEOM_32x16、2);
第一行告诉编译器包括ht1632c库。第二个然后创建了一个新的结构,称为点矩阵。每当您想从库中调用函数时,都需要使用dotmatrix来调用它。括号中的数字和短语为:PORTD,DATA_pin,WR_pin,CS_pin,CLK_pin,GEOM_32x16,#ofdisplayschained。在这里,您可以更改显示器连接到Arduino的引脚。除非您有两个以上的显示器,否则#displayschained必须为2。
有关库的更多信息,请参见“源”页面。
我包括了在我的设置中使用的代码。如果不清楚,.pde用于处理,.ino用于Arduino。如果您具有与我相同的显示和设置,则可以按原样运行这两个代码。您可能需要进行一些更改以适应您的设置。
步骤5:来源
Arduino主页:http://arduino.cc/en/
处理主页:http://processing.org/
Sure Electronics:http://stores.ebay.com/Sure-Electronics
责任编辑:wv
-
程序
+关注
关注
117文章
3785浏览量
81004 -
Processing
+关注
关注
0文章
10浏览量
8961
发布评论请先 登录
相关推荐
评论