arduino学习——WS2812灯带

简介

关于WS2812的简介看这里(https://blog.csdn.net/STCode_G/article/details/111652978?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162858277116780269855155%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162858277116780269855155&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-111652978.first_rank_v2_pc_rank_v29&utm_term=ws2812%E7%81%AF%E5%B8%A6&spm=1018.2226.3001.4187)

示例程序

#include <FastLED.h>    
#define DATA_PIN 3    //设置引脚
#define LED_TYPE WS2812   //灯带类型
#define NUM_LEDS 30  //灯珠数量 
#define COLOR_ORDER GRB  //灯珠顺序
#define BRIGHTNESS 128
uint8_t max_brightness=128;  //最大亮度

CRGB leds[NUM_LEDS];   // 给灯带命名
void setup() {
   
  // put your setup code here, to run once:
    FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds,NUM_LEDS);  //初始化灯带
    FastLED.setBrightness(max_brightness);  //设置灯带亮度

}

void loop() {
   
  // put your main code here, to run repeatedly:
for (int i=0;i<=29;i++){
   
  leds[i]= CRGB::Red;
  FastLED.show();
  delay(100);

  leds[i]=CRGB::Black;
  FastLED.show();
  delay(100);  //实例从第一个灯带起亮红色然后熄灭
}
}

程序拓展(1)

void loop() {
   
  // put your main code here, to run repeatedly:
  for (int i=0;i<=29;i++){
   
  myled[i]=CRGB::Green;
  FastLED.show();
  delay(25);
  }
  for (int i=0;i<=29;i++){
   
    myled[i]=CRGB::Black;
    FastLED.show();
    delay(25);
  }
}

程序会从第一个灯依次点亮直到最后一颗灯,然后又从第一颗灯熄灭

程序拓展(2)

void loop(){
   
  for (int i=1;i<=28;i++){
   
  myled[i-1]=CRGB::Red;
  myled[i]=CRGB::Red;
  myled[i+1]=CRGB::Red;

  myled[i-1]=CRGB::Green;
  myled[i]=CRGB::Green;
  myled[i+1]=CRGB::Green;

  myled[i-1]=CRGB::Blue;
  myled[i]=CRGB::Blue;
  myled[i+1]=CRGB::Blue;

  myled[i-1]=CRGB::Black;
  myled[i]=CRGB::Black;
  myled[i+1]=CRGB::Black;
  }
}

示例程序每三个依次闪烁红绿蓝

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值