这是从我原来的Instructables导入的(点击这里)
欢迎来到我的教程,了解如何为电视或桌子的背面构建RGB LED 背光灯。
原理图本身非常简单,因为WS2812 LED 灯条很容易与Arduino Nano等接口。
注意:如果您只想要没有音频可视化的 LED 背光,则不必使用额外的 MSGEQ7 音频分析器威廉希尔官方网站 。
我提供了使用过的零件的详细清单以及在哪里可以买到它们:
主要示意图:
因此,使用Adafruit_NeoPixel 库将 WS2812 Strip 与 Arduino 连接起来非常简单。
LED 灯条有 3 个引脚:VCC、DATA、GND 。VCC 连接到 5V,GND 接地,中间的DATA 引脚连接到 Arduino 上的 LED_DATA 引脚 D6。现在,灯带上的每个 LED 上都有一个 WS2812 芯片,它接收从 Arduino 接收的数据并将其传递给下一个 LED,因此我们只需将 Led 数据馈送到灯带上的第一个 LED 一次。
按钮改变模式和电位器控制亮度的逻辑将在下一步中解释。
确切的原理图可以在 fritzing 文件的屏幕截图中找到,该文件也可以下载。
请注意,仅通过二极管将 Arduino 5V 引脚连接到电源非常重要,这样如果我们插入 USB 电缆对其进行编程,Arduino 就不会损坏。10nF 和 1000uF 也是出于安全考虑,因此不会出现任何电源短缺的情况。
对于MSGEQ7 威廉希尔官方网站 :
这是将 MSGEQ7 连接到 Arduino 的最常见威廉希尔官方网站 。这也是您需要3.5 毫米音频插孔的地方。大多数音频插孔的中间引脚是 GND,左/右的引脚是立体声通道,通过一个 10nF 电容连接到 MSGEQ7 的信号输入引脚,如图所示。您可以在 Signal In Pin 上额外添加一个电位器来控制音频信号的灵敏度,但实际上没有必要。MSGEQ7连接到 Arduino ,模拟输出引脚连接到A1 (MSGEQ_OUT),选通引脚连接到 D2 (STROBE),复位引脚连接到 D5 (RESET)。
完成 Sketch的GitHub链接:RGBStripe_Control_WS2812
代码注释:
在代码中,我们使用新的 Adafruit_NeoPixel 对象声明 WS2812 Strip 对象,传入 Led 的数量(为您的设置更改 NUM_LEDS ),连接到 LED_DATA 引脚的 Arduino 引脚,以及编码类型 + 颜色值传输的速度。
完成后,我们通过setBrightness(0-255)在 setup() 中设置默认亮度,并使用begin()打开 Strip 。我们现在可以使用setPixel(LED, Color)将每个单独的 Pixel/LED设置为特定的 RGB 颜色。当我们完成将所有 LED 设置为新值后,我们使用 strip.show() 更新条带。这基本上是我们编写任何我们想要的动画所需的所有代码逻辑。现在要实际控制动画/模式,我们向 Arduino添加一个按钮/触觉开关。因此,我们将 Button 的一端连接到 VCC,另一端连接到 Arduino 引脚 D3 ,并使用 10kOhm 电阻连接到 GND。我们在 setup()中为这个 Pin 附加一个中断,每次按下按钮时都会触发对 changeMode() 方法的调用。在changeMode()中,我们简单地切换到下一个模式并告诉当前动画中断。一旦发生这种情况,loop() 就会被新执行,并将播放新的动画/模式。
提供的动画包括:彩虹色渐变、红色、绿色、蓝色、白色、音乐分析器模式
此外,我添加了一个10kOhm 电位器来控制 Strip 的亮度。方法checkBrightness()检查连接到引脚 A2(电位器的中间引脚)的电位器的输出,并相应地更新条带的亮度。
对于通过 MSGEQ7 的 musicAnalyzer() 模式:
此模式可视化连接到 MSGEQ7 的 Signal In 的音频信号。MSGEQ 输出一个模拟信号,显示单个音频波段(8 个波段,从低频到高频)。musicAnalyzer ()方法通过重置 MSGEQ 然后缓冲提供的模拟值来获取音频波段的当前值。可以通过在选通引脚上放置一个高边来更改输出的波段。在缓冲所有 8 个波段后,该方法将所有 LED 像素值向后移动一个并计算 LED 0 的新值。颜色包括:低频(低音)红色、中频绿色和高频蓝色。在加载新值之前改变值给了我们一个很好的平滑定时动画。
要将您的音乐/音频输入 MSGEQ7 但仍让您的音乐在扬声器上播放,您必须使用 RealtekHD Stereomix 功能或将 MSGEQ 音频输入连接到例如声卡/主板的后置扬声器输出。
要在 Win10 中启用 Stereomix,右键单击右下角的扬声器图标,然后单击“声音”,您可以在“录音”选项卡中激活 Stereomix(右键单击 -> 激活)。如果 Stereomix 不可见,请右键单击并选择“显示禁用的设备”。现在打开 Stereomix 的设置并告诉它收听和复制主扬声器的音频。
如果要使用后置扬声器输出,请在“声音”菜单中打开主扬声器的设置,选项卡“改进”,然后从列表中选择“环境”,然后在下面的下拉菜单中选择“房间”。
这现在可以实现扬声器和 MSGEQ7 的并行音频输出。
由于原理图既不复杂也不大,我设法将整个威廉希尔官方网站 放入一个带有 USB 连接器、音频插孔、DC 插孔、电位器和按钮的孔的小盒子中。您可以简单地使用公/母排针并通过跳线将 3 根电缆连接到 WS2812 条。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !