一、材料准备

硬件部分

1. Arduino UNO R3 开发板

在这里插入图片描述

2. 基于WS2812B的LED灯条

在这里插入图片描述

3. 杜邦线若干

在这里插入图片描述

软件部分

1. Arduino IDE

Arduino的开发工具,可以在官网下载:https://www.arduino.cc/en/software

在这里插入图片描述

2. LED灯条驱动库

驱动库源码已在GitHub上开源:https://github.com/FastLED/FastLED

在这里插入图片描述
下载好驱动库后,将驱动库复制到Arduino工作目录下的libraries文件夹里:
在这里插入图片描述

二、硬件连接

硬件连接方法如下图所示:
在这里插入图片描述

接线时一定要注意接口的引脚,正负极千万不要接错了:
在这里插入图片描述

三、点亮灯条

我购买的灯条有30颗小灯珠,下面我将通过Arduino驱动灯条循环点亮红、绿、蓝三种颜色。

点亮小灯珠的代码其实非常简单,首先需要导入驱动库:

#include <FastLED.h>
#define LED_PIN     7
#define NUM_LEDS    30
CRGB leds[NUM_LEDS];

灯的颜色是由三原色决定的,因此控制灯的颜色只需要配置3种颜色的强弱即可,要想亮白光,只需要做如下配置:

CRGB ( 255, 255, 255)

最后将代码串起来:

#include <FastLED.h>
#define LED_PIN     7
#define NUM_LEDS    30
CRGB leds[NUM_LEDS];
void setup() {
  FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
}
void loop() {
  // Red
  for (int i = 0; i <= 29; i++) {
    leds[i] = CRGB ( 255, 0, 0);
    FastLED.show();
    delay(40);
  }

  // Green
  for (int i = 0; i <= 29; i++) {
    leds[i] = CRGB ( 0, 255, 0);
    FastLED.show();
    delay(40);
  }

  //  Blue
  for (int i = 0; i <= 29; i++) {
    leds[i] = CRGB ( 0, 0, 255);
    FastLED.show();
    delay(40);
  }

}

效果如下:

使用Arduino控制基于WS2812B的LED灯条(效果演示)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐