“彩灯的多种玩法”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(创建页面,内容为“{| style="width: 800px;" |- | <br> <big>此示例给出了控制彩灯的几种显示效果。</big> <br> <br> <p style="color: #E87E05;font-size:135%">硬件清单<...”)
 
第22行: 第22行:
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">代码</p>
 
<p style="color: #E87E05;font-size:135%">代码</p>
 +
*呼吸灯
 
<source lang="cpp">
 
<source lang="cpp">
 
#include <Microduino_ColorLED.h> //引用彩灯库
 
#include <Microduino_ColorLED.h> //引用彩灯库
  
#define LED_NUM 7                //定义彩灯数量
+
#define PIN            6        //彩灯引脚
#define PIN_LED 6                //定义彩灯端口号
+
#define NUMPIXELS      16        //级联彩灯数量
ColorLED strip = ColorLED(LED_NUM, PIN_LED); //定义彩灯数量、彩灯引脚号,色彩编码格式缺省配置(默认为:NEO_GRB + NEO_KHZ800)
+
 
 +
#define val_max 255
 +
#define val_min 0
 +
 
 +
ColorLED strip = ColorLED(NUMPIXELS, PIN); //将ColorLED类命名为strip,并定义彩灯数量和彩灯引脚号
  
 
void setup() {
 
void setup() {
   strip.begin();           //彩灯初始化
+
   strip.begin();                 //彩灯初始化
  strip.setBrightness(255); //设置彩灯亮度
+
   strip.show();
   strip.show();             //将彩灯点亮成设置的颜色
 
 
}
 
}
  
 
void loop() {
 
void loop() {
//待添加
+
  rainbowCycle( 255, 0, 0, 5);//红色呼吸
 +
  rainbowCycle( 0, 255, 0, 5);//绿色呼吸
 +
  rainbowCycle( 0, 0, 255, 5);//蓝色呼吸
 +
}
 +
 
 +
void colorSet(uint32_t c) {
 +
  for (uint16_t i = 0; i < strip.numPixels(); i++) {
 +
    strip.setPixelColor(i, c);
 +
  }
 +
  strip.show();
 +
}
 +
 
 +
void rainbowCycle( int r, int g, int b, uint8_t wait) {
 +
  for (int val = 0; val < 255; val++)
 +
  {
 +
    colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b)));
 +
    delay(wait);
 +
  }
 +
  for (int val = 255; val >= 0; val--)
 +
  {
 +
    colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b)));
 +
    delay(wait);
 +
  }
 
}
 
}
 
</source>
 
</source>
 +
 +
*闪烁灯
 +
<source lang="cpp">
 +
 +
</source>
 +
 +
*彩虹灯
 +
<source lang="cpp">
 +
 +
</source>
 +
 +
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">相关案例</p>
 
<p style="color: #E87E05;font-size:135%">相关案例</p>

2017年7月7日 (五) 06:05的版本


此示例给出了控制彩灯的几种显示效果。

硬件清单



电路搭建

将彩灯的IN接到Hub的6/7引脚,实际使用的是6号引脚。
将Battery、Core、Hub堆叠在一起,通过MicroUSB数据线接入电脑。



代码

  • 呼吸灯
#include <Microduino_ColorLED.h> //引用彩灯库

#define PIN            6         //彩灯引脚
#define NUMPIXELS      16        //级联彩灯数量

#define val_max 255
#define val_min 0

ColorLED strip = ColorLED(NUMPIXELS, PIN); //将ColorLED类命名为strip,并定义彩灯数量和彩灯引脚号

void setup() {
  strip.begin();                 //彩灯初始化
  strip.show();
}

void loop() {
  rainbowCycle( 255, 0, 0, 5);//红色呼吸
  rainbowCycle( 0, 255, 0, 5);//绿色呼吸
  rainbowCycle( 0, 0, 255, 5);//蓝色呼吸
}

void colorSet(uint32_t c) {
  for (uint16_t i = 0; i < strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
  }
  strip.show();
}

void rainbowCycle( int r, int g, int b, uint8_t wait) {
  for (int val = 0; val < 255; val++)
  {
    colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b)));
    delay(wait);
  }
  for (int val = 255; val >= 0; val--)
  {
    colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b)));
    delay(wait);
  }
}
  • 闪烁灯

  • 彩虹灯



相关案例




返回Sensor-ColorLED_Reference界面

返回Sensor-Color_LED界面