[ESP32-Audio-Kit音频开发板测评] WS2812彩色灯带控制
<div class='showpostmsg'> 本帖最后由 jinglixixi 于 2021-9-25 13:15 编辑<p>ESP32-Audio-Kit音频开发板配合库文件FastLED.h的使用能轻松地控制WS2812彩色灯带的显示效果,所用的驱动引脚及灯带的点数均可通过参数进行调整。</p>
<p>以7点彩灯带为例,其显示程序如下:</p>
<pre>
<code class="language-cpp">#include <FastLED.h>
#define NUM_LEDS 7
#define DATA_PIN 5
CRGB leds;
void setup() {
FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
}
void loop() {
leds = CRGB::Red;
leds = CRGB::Green;
leds = CRGB::Blue;
leds = CRGB::Red+CRGB::Green;
leds = CRGB::Red+CRGB::Blue;
leds = CRGB::Green+CRGB::Blue;
leds = CRGB::Green+CRGB::Blue+CRGB::Red;
FastLED.show();
delay(500);
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
FastLED.show();
delay(500);
}</code></pre>
<p>经编译和上传,其结果如图1所示,图2是其运行效果。</p>
<p></p>
<p>图1完成上传</p>
<p>图2显示效果</p>
<p> </p>
<p>对于60点的彩色灯带,其显示程序如下:</p>
<pre>
<code class="language-cpp">#include <FastLED.h>
#define NUM_LEDS 60
#define DATA_PIN 5
CRGB leds;
void setup() {
FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
}
void loop() {
int i;
for(i=0;i<10;i++)
{
leds = CRGB::Red;
leds = CRGB::Green;
leds = CRGB::Blue;
leds = CRGB::Red+CRGB::Green;
leds = CRGB::Red+CRGB::Blue;
leds = CRGB::Green+CRGB::Blue;
}
FastLED.show();
delay(500);
for(i=0;i<10;i++)
{
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
leds = CRGB::Black;
}
FastLED.show();
delay(500);
}</code></pre>
<p>其运行效果如图3所示:</p>
<p>图3显示效果</p>
<p></p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>灯很炫酷,</p>
<p>代码中对于60点的RGB灯带显示控制是怎么方式,PWM?</p>
<p>正好在玩这个灯,你这个例子不错</p>
<p>回头我也试试</p>
<p>先谢谢了</p>
se7ens 发表于 2021-9-24 09:52
正好在玩这个灯,你这个例子不错
回头我也试试
先谢谢了
<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/handshake.gif" width="48" /></p>
Jacktang 发表于 2021-9-24 07:24
灯很炫酷,
代码中对于60点的RGB灯带显示控制是怎么方式,PWM?
<p> </p>
<p>应该是类似的东西,因为提供色彩值和亮度值均可给予响应。</p>
<p>可以发一下FastLED.h文件吗</p>
<p>我在IDE里找不到这个</p>
<p>多谢了</p>
se7ens 发表于 2021-10-11 14:04
可以发一下FastLED.h文件吗
我在IDE里找不到这个
多谢了
<p>要在ArduinoIDE中编写程序,需添加第三方的FastLED库,其添加与使用方法为:</p>
<p>1.选取“项目”菜单下“加载库”的“管理库”选项,在库管理器的搜索栏,输入“FastLED”;</p>
<p>2. 在出现搜索结果后,点击“安装”按钮;</p>
<p>3. 在完成安装后,即可见到“INSTALLED”的提示,然后点击“关闭”以返回原界面;</p>
<p></p>
<p>在添加FastLED库之后,即可编写相应的控制程序,其操作方法为:</p>
<p>1. 选取“文件”菜单下的“新建”选项,生成一个新文件;</p>
<p>2. 在“项目”菜单的“加载库”下可见到“FastLED”选项,点击它即可在新文件中添加FastLED的头文件;</p>
se7ens 发表于 2021-10-11 14:04
可以发一下FastLED.h文件吗
我在IDE里找不到这个
多谢了
<p>已发出回复,你看一下。</p>
jinglixixi 发表于 2021-10-11 14:26
要在ArduinoIDE中编写程序,需添加第三方的FastLED库,其添加与使用方法为:
1.选取“项目&rdquo ...
<p>可以了,谢谢</p>
se7ens 发表于 2021-10-11 23:33
可以了,谢谢
<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/handshake.gif" width="48" /></p>
页:
[1]