0
点赞
收藏
分享

微信扫一扫

秒上手!使用Arduino控制基于WS2812B的LED灯条


使用Arduino控制基于WS2812B的LED灯条

  • ​​一、材料准备​​
  • ​​硬件部分​​
  • ​​1. Arduino UNO R3 开发板​​
  • ​​2. 基于WS2812B的LED灯条​​
  • ​​3. 杜邦线若干​​
  • ​​软件部分​​
  • ​​1. Arduino IDE​​
  • ​​2. LED灯条驱动库​​
  • ​​二、硬件连接​​
  • ​​三、点亮灯条​​

一、材料准备

硬件部分

1. Arduino UNO R3 开发板

秒上手!使用Arduino控制基于WS2812B的LED灯条_arduino

2. 基于WS2812B的LED灯条

秒上手!使用Arduino控制基于WS2812B的LED灯条_arduino_02

3. 杜邦线若干

秒上手!使用Arduino控制基于WS2812B的LED灯条_arduino_03

软件部分

1. Arduino IDE

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

秒上手!使用Arduino控制基于WS2812B的LED灯条_LED灯_04

2. LED灯条驱动库

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

秒上手!使用Arduino控制基于WS2812B的LED灯条_arduino_05


下载好驱动库后,将驱动库复制到Arduino工作目录下的libraries文件夹里:

秒上手!使用Arduino控制基于WS2812B的LED灯条_单片机_06

二、硬件连接

硬件连接方法如下图所示:

秒上手!使用Arduino控制基于WS2812B的LED灯条_i++_07

接线时一定要注意接口的引脚,正负极千万不要接错了:

秒上手!使用Arduino控制基于WS2812B的LED灯条_i++_08

三、点亮灯条

我购买的灯条有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灯条(效果演示)


举报

相关推荐

0 条评论