ESP32驱动WS2812
开发环境:VSCODE+platformio
,框架:Arduino
直接贴代码,注释都在代码里
#include <Arduino.h>
#include <Adafruit_NeoPixel.h>//关键是这个库
#include <SPI.h>
#define WS_PIN 16 //定义选择引脚
#define WS_NUM 3 //定义led个数,决定数组长度
Adafruit_NeoPixel pixels(WS_NUM, WS_PIN, NEO_GRB + NEO_KHZ800);//第一个参数led个数,第二个引脚号,第三个rgb模式,第四个800khz-ws2812
void setup() {
Serial.begin(115200);
/***WS2812******/
pixels.begin();//初始化灯带
pixels.clear();//清空灯带数组
pixels.setPixelColor(0,pixels.Color(100, 0, 0));//注意是从0开始,第一个led对应0
pixels.setPixelColor(1,pixels.Color(0, 100, 0));//三色对应(R,G,B)
pixels.setPixelColor(2,pixels.Color(0, 0, 100));
pixels.show();//刷新
/***WS2812******/
}
//下面代码都无关//
void loop() {
Serial.printf("111\n");
vTaskDelay(500);
}
试验效果图片:
颜色其实挺正的,但是拍出来有色差,特别是蓝色