ESP32使用Arduino环境控制LED灯环(WS2812)

  1. 安装FastLED库
    ESP32使用Arduino环境控制LED灯环(WS2812)_第1张图片
  2. 代码
    /*
    报错  但不影响程序的上传和运行
    In file included from c:\Users\Administrator\Documents\Arduino\libraries\FastLED\src/FastLED.h:67:0,
                     from C:\Users\Administrator\Documents\Arduino\sketch_oct14b\sketch_oct14b.ino:1:
    c:\Users\Administrator\Documents\Arduino\libraries\FastLED\src/fastspi.h:145:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output
     #      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"
     
    */
    //参考网站  https://blog.csdn.net/STCode_G/article/details/111652978
    //安装FastLED库 
    //更多FastLED使用可以参考https://github.com/FastLED/FastLED
    #include "FastLED.h"            // 此示例程序需要使用FastLED库
    #define NUM_LEDS 12             // LED灯珠数量
    #define DATA_PIN 5              // Arduino输出控制信号引脚 接LED灯环的DI
    #define LED_TYPE WS2812         // LED灯环型号
    #define COLOR_ORDER GRB         // RGB灯珠中红色、绿色、蓝色LED的排列顺序
     
    uint8_t max_bright = 128;       // LED亮度控制变量,可使用数值为 0 ~ 255, 数值越大则光带亮度越高
    CRGB leds[NUM_LEDS];            // 建立灯带leds
    char i= 0;                      //led灯的点亮序号
    void setup() { 
      LEDS.addLeds(leds, NUM_LEDS);  // 初始化灯带
      FastLED.setBrightness(max_bright);                            // 设置灯带亮度
    }
     
    void loop() { 
      if(i == NUM_LEDS){
        i = 0;
      }
      leds[i] = CRGB::Red;          //  i= 0 设置灯带中第一个灯珠颜色为红色,leds[0]为第一个灯珠,leds[1]为第二个灯珠
      FastLED.show();               // 更新LED色彩
      delay(50);                   // 等待500毫秒
      leds[i] = CRGB::Black;        // 设置灯带中第一个灯珠熄灭 
      FastLED.show();               // 更新LED色彩
      delay(50);                   // 等待500毫秒
      i++;
    }
    

你可能感兴趣的:(ESP32,单片机,c++)