拾音音频频谱渐变WS2812B 60灯珠代码
时间: 2023-07-09 08:50:24 浏览: 208
CH579_驱动ws2812灯珠
以下是一个基于Arduino平台的WS2812B灯带控制代码,实现60灯珠拾音频谱渐变效果:
```
#include <FastLED.h>
#define NUM_LEDS 60
#define DATA_PIN 6
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
}
void loop() {
uint8_t spectrumValue = analogRead(A0) / 4; // 读取拾音器的模拟信号,并将其映射到0-255范围内
for (int i = 0; i < NUM_LEDS; i++) {
if (i < spectrumValue) {
leds[i] = CHSV(map(i, 0, NUM_LEDS - 1, 0, 255), 255, 255); // 根据当前灯珠的位置将其颜色映射到色轮上
} else {
leds[i] = CRGB::Black; // 超过音频频谱的值的灯珠关闭
}
}
FastLED.show(); // 更新LED灯带
delay(10); // 延时控制渐变速度
}
```
通过使用一个模拟输入的拾音器来获取音频频谱值,并将其映射到60个灯珠上,实现了一个基于音频的渐变效果。代码中使用了FastLED库来控制WS2812B灯带。
阅读全文