![cover](https://img-blog.csdnimg.cn/3649834d241e4300b834a9c7452926ef.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3picF8xMjEzOA==,size_16,color_FFFFFF,t_70)
秒上手!使用Arduino控制基于WS2812B的LED灯条
·
使用Arduino控制基于WS2812B的LED灯条
一、材料准备
硬件部分
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灯条(效果演示)
更多推荐
所有评论(0)