“炫彩LED灯”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
程序
实验二:呼吸灯
 
(未显示5个用户的30个中间版本)
第1行: 第1行:
 
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
 
|
 
|
==目的==
+
==概述==
 +
Microduino-Color led是彩色LED灯,内置IC控制芯片,单总线控制,可任意级联,只需要一个I/O口就可以控制所有的灯,每个彩灯都可以单独控制。
  
本教程将教大家如何使用Microduino的炫彩LED灯。
+
==特色==
 +
*控制电路与RGB芯片集成在一个5050封装的元器件中;
 +
*单总线控制,只需要一个I/O口就可以控制,完成数据的接收与解码;
 +
*内置IC控制,串行级联接口,可以级联控制;
 +
*每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s;
 +
*内置上电复位和掉电复位电路;
 +
*超低功率,超长寿命。
  
==设备==
+
==规格==
*'''[[Microduino-CoreUSB/zh]]'''
+
*电器规格
*'''[[Microduino-LEDcolor/zh]]'''
+
**工作电压:3.3V~5V
*'''[[Microduino-Sensorhub/zh]]'''
+
**输出设备
 +
*技术参数
 +
**采用WS2812集成控制光源;
 +
**每个像素点的RGB可实现256级亮度显示
 +
**当刷新速率30帧/秒时,级联数不小于1024点;
 +
**任意两点传传输距离在不超过3米时无需增加任何电路;
 +
*尺寸
 +
**LED灯大小:5mm*5mm,
 +
**板子大小:20mm*20mm
 +
**1.27mm间距的4Pin接口与Hub相连
 +
*接法
 +
**系统与LED(<big>IN</big>):系统控制LED需要将Hub端的信号接到LED的<big>IN</big>底座。
 +
**LED级联(<big>OUT</big>):前一个LED的<big>OUT</big>接下一个LED的<big>IN</big>。
 +
[[File: CoreUSB_Ble_steup11.jpg|600px|center]]
  
 +
==文档==
 +
[[File:ws2812.pdf]]
 +
==开发==
 +
===设备===
 +
{|class="wikitable"
 +
|-
 +
|模块||数量||功能
 +
|-
 +
|[[mCookie-Core/zh|mCookie-Core]]||1||核心板
 +
|-
 +
|[[mCookie-Hub/zh]]||1||传感器转接板
 +
|-
 +
|[[mCookie-Battery|电池盒]]||1||程序下载和供电模块
 +
|-
 +
|[[Microduino-Color led/zh]]||1||彩灯
 +
|}
 +
*其他设备
 +
**USB数据线*1
 +
**传感器连接线*1
 +
[[File:color_led-module.jpg|center|600px]]
  
 +
===准备===
 +
*Setup 1:将Color led背面的'''IN'''和Hub的数字口(D6)接起来,这个就是控制LED的引脚,用户可自己更改。
 +
[[file:mCookie-strandtext-sensor.JPG|600px|center]]
 +
*Setup 2:将CoreUSB,Hub,Color LED连接在一起。通过USB数据线将接入电脑。
 +
[[file:mCookie-strandtext-pc.JPG|600px|center]]
 +
===实验一:点亮彩灯===
 +
*打开Arduino IDE,把原来IDE里的代码都删除,将下列代码复制到IDE中。
 +
<source lang="cpp">
 +
#include <Microduino_ColorLED.h> //引用彩灯库
  
*其他硬件设备
+
#define PIN 6   //led灯控制引脚
**USB数据连接线   一根
+
#define NUMPIXELS      2        //级联彩灯数量
 
 
 
 
==程序==
 
 
 
程序:[[https://github.com/Microduino/Microduino_Tutorials/tree/master/mCookie_sensor/MicroduinoLEDColor MicroduinoLEDColor]]
 
 
 
函数说明:
 
 
 
colorWipe(uint32_t c, uint8_t wait)  //设置颜色
 
 
 
rainbow(uint8_t wait)  //彩虹变色
 
 
 
rainbowCycle(uint8_t wait)  //是许多的灯循环
 
  
==调试==
+
ColorLED strip = ColorLED(NUMPIXELS, PIN); //将ColorLED类命名为strip,并定义彩灯数量和彩灯引脚号
  
步骤一:
+
void setup() {
把Microduino把LED灯插到Microduino-SensorHub的D6引脚。
+
  strip.begin();
[[File:MicroduinoFancyLight.png|600px|center|thumb]]
+
  strip.setBrightness(60);      //设置彩灯亮度
 +
  strip.show();
 +
}
  
 +
void loop() {
 +
  strip.setPixelColor(0, strip.Color(255, 0, 0));//红
 +
  strip.show();
 +
  delay(1000);
 +
  strip.setPixelColor(0, strip.Color(0, 255, 0));//绿
 +
  strip.show();
 +
  delay(1000);
 +
  strip.setPixelColor(0, strip.Color(0, 0, 255));//蓝
 +
  strip.show();
 +
  delay(1000);
 +
  strip.setPixelColor(0, strip.Color(0, 0, 0));//灭
 +
  strip.show();
 +
  delay(1000);
 +
}
 +
</source>
 +
*选择正确的板卡和COM端口
 +
[[file:upload.JPG|600px|center]]
 +
*编译
 +
**编译时会提示保存项目,用户可以自己命名保存到你的文件夹即可。
 +
*下载
 +
**编译成功后可以直接下载,提示下载成功表示程序下载完毕。
 +
[[file:upload-led.JPG|600px|center]]
 +
*结果每隔1s切换一个灯显示,颜色分别是红,绿,蓝,灭依次循环。
  
步骤二:
+
===程序调试===
用USB线连接电脑,下载代码并烧录到Microduino-CoreUSB中。
+
*“#define PIN 6”定义了控制LED的引脚,6表示Microduino的D6引脚,可通过Hub转接出来,用户可以更改。
[[File:MicroduinoFancyLight1.png|600px|center|thumb]]
+
*“#define PIN_NUM 2”定义了允许接的led灯的个数。
 +
*“strip.setPixelColor(i, strip.Color(R, G, B));”函数说明:
 +
**i:第几个灯,从0开始算第一个灯。
 +
**R:红色值(0-255)。
 +
**G:绿色值(0-255)。
 +
**B:蓝色值(0-255)。
 +
**用户可以用颜色工具来更改颜色[http://www.atool.org/colorpicker.php color]
 +
*“strip.show();”表示LED显示。
  
 +
===实验二:呼吸灯===
 +
*打开Arduino IDE,将下列代码复制到IDE中。
 +
<source lang="cpp">
 +
#include <Microduino_ColorLED.h> //引用彩灯库
  
步骤三:
+
#define PIN 6  //led灯控制引脚
加电后串联的小灯会亮起
+
#define NUMPIXELS      2        //级联彩灯数量
[[File:MicroduinoFancyLight2.png|600px|center|thumb]]
 
  
 +
#define val_max 255
 +
#define val_min 0
  
步骤四:
+
ColorLED strip = ColorLED(NUMPIXELS, PIN); //将ColorLED类命名为strip,并定义彩灯数量和彩灯引脚号
同时会不停变换颜色。
 
[[File:MicroduinoFancyLight3.png|600px|center|thumb]]
 
  
 +
void setup() {
 +
  strip.begin();
 +
  strip.setBrightness(60);      //设置彩灯亮度
 +
  strip.show();
 +
}
  
==结果==
+
void loop() {
 +
  rainbowCycle( 255, 0, 0, 10);//红色呼吸
 +
  rainbowCycle( 0, 255, 0, 10);//绿色呼吸
 +
  rainbowCycle( 0, 0, 255, 10);//蓝色呼吸
 +
}
  
你可以控制许多彩灯变换颜色了。
+
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>
 +
*选择正确的板卡和COM端口,编译通过后直接下载。
 +
[[file:upload.JPG|600px|center]]
 +
*结果红,绿,蓝灯依次循环呼吸。
  
 +
===调试代码===
 +
*“rainbowCycle( int r, int g, int b, uint8_t wait)”函数说明:
 +
**r:红色值(0-255)。
 +
**g:绿色值(0-255)。
 +
**b:蓝色值(0-255)。
 +
**“uint8_t wait”定义呼吸的速度,数值越小呼吸速度越快。
 +
==应用==
 +
*LED全彩发光字灯串,LED全彩模组, LED全彩软灯条硬灯条,LED护栏管。
 +
*LED点光源,LED像素屏,LED异形屏,各种电子产品,电器设备跑马灯。
 
|}
 
|}

2017年8月3日 (四) 06:16的最新版本

概述

Microduino-Color led是彩色LED灯,内置IC控制芯片,单总线控制,可任意级联,只需要一个I/O口就可以控制所有的灯,每个彩灯都可以单独控制。

特色

  • 控制电路与RGB芯片集成在一个5050封装的元器件中;
  • 单总线控制,只需要一个I/O口就可以控制,完成数据的接收与解码;
  • 内置IC控制,串行级联接口,可以级联控制;
  • 每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s;
  • 内置上电复位和掉电复位电路;
  • 超低功率,超长寿命。

规格

  • 电器规格
    • 工作电压:3.3V~5V
    • 输出设备
  • 技术参数
    • 采用WS2812集成控制光源;
    • 每个像素点的RGB可实现256级亮度显示
    • 当刷新速率30帧/秒时,级联数不小于1024点;
    • 任意两点传传输距离在不超过3米时无需增加任何电路;
  • 尺寸
    • LED灯大小:5mm*5mm,
    • 板子大小:20mm*20mm
    • 1.27mm间距的4Pin接口与Hub相连
  • 接法
    • 系统与LED(IN):系统控制LED需要将Hub端的信号接到LED的IN底座。
    • LED级联(OUT):前一个LED的OUT接下一个LED的IN
CoreUSB Ble steup11.jpg

文档

文件:Ws2812.pdf

开发

设备

模块 数量 功能
mCookie-Core 1 核心板
mCookie-Hub/zh 1 传感器转接板
电池盒 1 程序下载和供电模块
Microduino-Color led/zh 1 彩灯
  • 其他设备
    • USB数据线*1
    • 传感器连接线*1

准备

  • Setup 1:将Color led背面的IN和Hub的数字口(D6)接起来,这个就是控制LED的引脚,用户可自己更改。
  • Setup 2:将CoreUSB,Hub,Color LED连接在一起。通过USB数据线将接入电脑。

实验一:点亮彩灯

  • 打开Arduino IDE,把原来IDE里的代码都删除,将下列代码复制到IDE中。
#include <Microduino_ColorLED.h> //引用彩灯库

#define PIN 6   //led灯控制引脚
#define NUMPIXELS      2        //级联彩灯数量

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

void setup() {
  strip.begin();
  strip.setBrightness(60);       //设置彩灯亮度
  strip.show();
}

void loop() {
  strip.setPixelColor(0, strip.Color(255, 0, 0));//红
  strip.show();
  delay(1000);
  strip.setPixelColor(0, strip.Color(0, 255, 0));//绿
  strip.show();
  delay(1000);
  strip.setPixelColor(0, strip.Color(0, 0, 255));//蓝
  strip.show();
  delay(1000);
  strip.setPixelColor(0, strip.Color(0, 0, 0));//灭
  strip.show();
  delay(1000);
}
  • 选择正确的板卡和COM端口
Upload.JPG
  • 编译
    • 编译时会提示保存项目,用户可以自己命名保存到你的文件夹即可。
  • 下载
    • 编译成功后可以直接下载,提示下载成功表示程序下载完毕。
  • 结果每隔1s切换一个灯显示,颜色分别是红,绿,蓝,灭依次循环。

程序调试

  • “#define PIN 6”定义了控制LED的引脚,6表示Microduino的D6引脚,可通过Hub转接出来,用户可以更改。
  • “#define PIN_NUM 2”定义了允许接的led灯的个数。
  • “strip.setPixelColor(i, strip.Color(R, G, B));”函数说明:
    • i:第几个灯,从0开始算第一个灯。
    • R:红色值(0-255)。
    • G:绿色值(0-255)。
    • B:蓝色值(0-255)。
    • 用户可以用颜色工具来更改颜色color
  • “strip.show();”表示LED显示。

实验二:呼吸灯

  • 打开Arduino IDE,将下列代码复制到IDE中。
#include <Microduino_ColorLED.h> //引用彩灯库

#define PIN 6   //led灯控制引脚
#define NUMPIXELS      2        //级联彩灯数量

#define val_max 255
#define val_min 0

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

void setup() {
  strip.begin();
  strip.setBrightness(60);       //设置彩灯亮度
  strip.show();
}

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

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);
  }
}
  • 选择正确的板卡和COM端口,编译通过后直接下载。
Upload.JPG
  • 结果红,绿,蓝灯依次循环呼吸。

调试代码

  • “rainbowCycle( int r, int g, int b, uint8_t wait)”函数说明:
    • r:红色值(0-255)。
    • g:绿色值(0-255)。
    • b:蓝色值(0-255)。
    • “uint8_t wait”定义呼吸的速度,数值越小呼吸速度越快。

应用

  • LED全彩发光字灯串,LED全彩模组, LED全彩软灯条硬灯条,LED护栏管。
  • LED点光源,LED像素屏,LED异形屏,各种电子产品,电器设备跑马灯。