太行摄狼 发表于 2017-5-10 10:01:09

arduino控制WS2812B模块

也是刚接触这个REG的模块,数据传输方式很像595,单线DATA就可以了,自己去搞时序很麻烦,看到别人帖子,实验成功,就贴出来,
https://github.com/FastLED/FastLED/
翻墙去这下载库就行了,IDE        版本要1.5以上,低版本不行,效果很炫彩

太行摄狼 发表于 2017-5-10 10:02:21

#include "FastLED.h"
#define NUM_LEDS 60
CRGB leds;
void setup() { FastLED.addLeds<NEOPIXEL, 6>(leds, NUM_LEDS); }
void loop() {
        leds = CRGB::White; FastLED.show(); delay(30);
        leds = CRGB::Black; FastLED.show(); delay(30);
}

太行摄狼 发表于 2017-5-10 10:04:22

具体还没研究通,自己软件水平太臭,有懂得能把库定义简单介绍下就好了,这个模块还可以级联,使用很方便

弘毅 发表于 2017-5-10 10:13:45

这个库是神库。。。这种单总线的数控LED。。。这个库基本都能用

wing 发表于 2017-5-10 10:34:39

那圈LED也不便宜,而且还要考虑扩流

太行摄狼 发表于 2017-5-10 10:45:15

咋又提扩流的问题,好像有个帖子已经说过了,自带驱动跟流无关

太行摄狼 发表于 2017-5-10 12:59:20

这图应该能说明问题了

迷你强 发表于 2017-5-10 13:42:09

不需要扩流的只要保证5V供电的电流充足就好了 数字总线驱动

darkorigin 发表于 2017-5-10 19:19:29

本帖最后由 darkorigin 于 2017-5-10 19:21 编辑

自己控制也能搞
我曾经拆过一个不知道什么蛇的鼠标,中键就是RGB灯的
直接用arduino驱动,可以实现颜色的红、绿、蓝渐变转换。

通过3个PWM口分别给三个脚喂0-255的数据即可

太行摄狼 发表于 2017-5-10 19:29:37

实际使用接线,资料全了

方恨少 发表于 2018-1-11 10:51:24

谢谢楼主的提示,明白了一点东西。
#include "FastLED.h"
#define NUM_LEDS 60
CRGB leds;
void setup() { FastLED.addLeds<NEOPIXEL, 6>(leds, NUM_LEDS); }
void loop() {
      leds = CRGB::White; FastLED.show(); delay(1000);
      leds = CRGB::Red; FastLED.show(); delay(1000);
      leds = CRGB::Green; FastLED.show(); delay(1000);
      leds = CRGB::Yellow; FastLED.show(); delay(1000);
      leds = CRGB::Orange; FastLED.show(); delay(1000);
      leds = CRGB::Blue; FastLED.show(); delay(1000);
      leds = CRGB::Purple; FastLED.show(); delay(1000);
      leds = CRGB::Brown; FastLED.show(); delay(1000);
      leds = CRGB::White; FastLED.show(); delay(1000);
      leds = CRGB::Red; FastLED.show(); delay(1000);
      leds = CRGB::Green; FastLED.show(); delay(1000);
      leds = CRGB::Yellow; FastLED.show(); delay(1000);
      leds = CRGB::Orange; FastLED.show(); delay(1000);
      leds = CRGB::Blue; FastLED.show(); delay(1000);
      leds = CRGB::Purple; FastLED.show(); delay(1000);
      leds = CRGB::Brown; FastLED.show(); delay(1000);
}
依次亮灯

宇治金时 发表于 2018-7-23 23:57:20

方恨少 发表于 2018-1-11 10:51
谢谢楼主的提示,明白了一点东西。
#include "FastLED.h"
#define NUM_LEDS 60


这是有8颗灯么?

xiao_y 发表于 2020-11-28 18:56:49

弘毅 发表于 2017-5-10 10:13
这个库是神库。。。这种单总线的数控LED。。。这个库基本都能用

但是如果一个uno控制两个ws2812灯环做不同频率的流水动画,没有想到好办法实现。不知道大神有没有提示?谢谢
我的大致思路如下:按键1 按下,灯环1开始做黄色延时10ms的流水动画。按键2 按下,灯环1开始做红色延时20ms的流水动画。由于我使用的是for循环做的流水,导致如果for循环没有走完程序,将不能读取另外的控制。
请大神帮忙解惑,是我的程序需要改?还是我的这个思路构建有问题?谢谢
页: [1]
查看完整版本: arduino控制WS2812B模块