“Microduino-Module LED Matrix/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
测试程序
 
(未显示6个用户的22个中间版本)
第3行: 第3行:
 
|-
 
|-
 
|
 
|
//此处应有外形图片
+
[[file:Matrixfront.jpg|thumb|400px|right]]
 
+
Microduino-LED Matrix模块集成了6个WS2812灯珠,每个灯珠内置IC控制芯片,6个灯珠采用单总线控制,可用一个I/O口控制每个灯珠的发光状态。可作为全彩模组提供光源。
//Wiki施工中
 
 
 
 
==特色==
 
==特色==
*采用6块WS2812作为光源;
+
*集成6个WS2812灯珠,可作为多彩光源;
*一个模拟口可灵活操作多个彩色LED灯的色彩;
+
*一个I/O口可灵活操作每个灯珠的发光颜色;
 
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
 
*开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
 
*统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
 
*统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
 
*2.54间距的排母接口方便集成到洞洞板。
 
*2.54间距的排母接口方便集成到洞洞板。
 
  
 
==规格==
 
==规格==
 +
*电气规格
 +
**工作电压:5V
 +
**控制光源:WS2812*6
 
*WS2812
 
*WS2812
**每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于 400Hz/s;
+
**三基色灰度:256级可调
**内置信号整形电路,任何一个像素点收到信号后经过波形整形再输出,保证线路波形畸变不会累加;
+
**LED灯大小:5mm*5mm
 
**数据发送速度可达800Kbps。
 
**数据发送速度可达800Kbps。
 +
*控制
 +
**通过模块背面跳线选择I/O口控制,可选端口为A0,A1,A2,A3,A6,A7,默认选择A0端口
 +
[[File:Pinout.jpg|800px|thumb|center|Microduino-RTC-Pinout1]]
  
//File:RTC-Pinout-1Big1.jpg|800px|thumb|center|Microduino-RTC-Pinout1
+
==文档==
//此处应有pinout图片
 
  
==文档==
 
Eagle PCB
 
[[file:QQ图片20151214141802.png|600px|center]]
 
 
===主要元件===
 
===主要元件===
*WS2812:  
+
*WS2812维基页面:http://wiki.hacdc.org/index.php/WS2811_Digital_RGB_LED#Individual_LEDs
//此处应有手册
 
  
 
==开发==
 
==开发==
  
 
===Arduino库及支持包===
 
===Arduino库及支持包===
*Adafruit_NeoPixel:[https://github.com/adafruit/Adafruit_NeoPixel]
+
*采用adafruit_NeoPixel库文件:
 +
**Adafruit_NeoPixel:https://github.com/adafruit/Adafruit_NeoPixel
 +
 
 
==应用==
 
==应用==
 
===[[语音情景灯/zh]]===
 
===[[语音情景灯/zh]]===
第44行: 第44行:
 
<source lang="cpp">
 
<source lang="cpp">
 
#include <Adafruit_NeoPixel.h> 
 
#include <Adafruit_NeoPixel.h> 
#define PIN 6 //定义控制引脚
+
#define PIN A0 //定义控制引脚
 
// 参数 1 = strip中彩灯的数目 
 
// 参数 1 = strip中彩灯的数目 
 
// 参数 2 = 引脚号
 
// 参数 2 = 引脚号
第52行: 第52行:
 
//   NEO_KHZ400  400 KHz bitstream (e.g. FLORA pixels) 
 
//   NEO_KHZ400  400 KHz bitstream (e.g. FLORA pixels) 
 
//   NEO_KHZ800  800 KHz bitstream (e.g. High Density LED strip) 
 
//   NEO_KHZ800  800 KHz bitstream (e.g. High Density LED strip) 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800); 
+
Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, PIN, NEO_GRB + NEO_KHZ800); 
 
void setup() 
 
void setup() 
 
 
第130行: 第130行:
 
    } 
 
    } 
 
</source>
 
</source>
 
==购买==
 
 
 
 
==图库==
 
==图库==
file:rtc-t.jpg|thumb|600px|center|Front
+
[[file:LEDMATRIXFRONT.jpg|thumb|600px|center|Front]]
file:rtc-B.jpg|thumb|600px|center|Back
+
[[file:LEDmatrixback.jpg|thumb|600px|center|Back]]

2018年6月12日 (二) 06:59的最新版本

Language English
Matrixfront.jpg

Microduino-LED Matrix模块集成了6个WS2812灯珠,每个灯珠内置IC控制芯片,6个灯珠采用单总线控制,可用一个I/O口控制每个灯珠的发光状态。可作为全彩模组提供光源。

特色

  • 集成6个WS2812灯珠,可作为多彩光源;
  • 一个I/O口可灵活操作每个灯珠的发光颜色;
  • 开源的硬件电路设计,与 Arduino 兼容的编程开发环境程;
  • 统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展;
  • 2.54间距的排母接口方便集成到洞洞板。

规格

  • 电气规格
    • 工作电压:5V
    • 控制光源:WS2812*6
  • WS2812
    • 三基色灰度:256级可调
    • LED灯大小:5mm*5mm
    • 数据发送速度可达800Kbps。
  • 控制
    • 通过模块背面跳线选择I/O口控制,可选端口为A0,A1,A2,A3,A6,A7,默认选择A0端口
Microduino-RTC-Pinout1

文档

主要元件

开发

Arduino库及支持包

应用

语音情景灯/zh

测试程序

使用Arduino for Micrduino IDE自带的Adafruit_NeoPixel库中的示例程序 打开IDE,点击文件→示例→找到LED_WS2812

ANlib.jpg
#include <Adafruit_NeoPixel.h> 
#define PIN A0 //定义控制引脚
// 参数 1 = strip中彩灯的数目 
// 参数 2 = 引脚号
// 参数 3 = 彩灯类型, 可多选(前两个中选一个,后两个中选一个): 
//   NEO_RGB     Pixels are wired for RGB bitstream 
//   NEO_GRB     Pixels are wired for GRB bitstream 
//   NEO_KHZ400  400 KHz bitstream (e.g. FLORA pixels) 
//   NEO_KHZ800  800 KHz bitstream (e.g. High Density LED strip) 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, PIN, NEO_GRB + NEO_KHZ800); 
void setup() 
{ 
    strip.begin(); 
    strip.show(); //初始化所有彩灯都为灭
} 
void loop() 
{ 
    // 点亮彩灯的方法 
    colorWipe(strip.Color(255, 0, 0), 50); // 点亮红色
    colorWipe(strip.Color(0, 255, 0), 50); // 点亮绿色
    colorWipe(strip.Color(0, 0, 255), 50); // 点亮蓝色
    rainbow(20); 
    rainbowCycle(20); 
} 
//用“c”所代表的颜色依次点亮各盏彩灯,每点亮一盏等“wait”秒
void colorWipe(uint32_t c, uint8_t wait) 
{ 
    for(uint16_t i = 0; i < strip.numPixels(); i++)  //依次点亮
    { 
       strip.setPixelColor(i, c); //这个函数用于把第i盏灯用“c”所指颜色点亮
        strip.show(); //这个函数会将setPixelColor函数所写入的控制信息显示
                        //出来,也就是靠它点亮LAMP模块 
        delay(wait); 
    } 
} 

void rainbow(uint8_t wait) //彩虹显示
{ 
    uint16_t i, j; 
 
    for(j = 0; j < 256; j++)  //渐变255种颜色
    { 
      for(i = 0; i < strip.numPixels(); i++) //依次点亮彩灯,间隔wait毫秒
        { 
            strip.setPixelColor(i, Wheel((i + j) & 255)); 
        } 
        strip.show(); 
        delay(wait); 
    } 
} 
// 与上面的函数稍有区别,添加了彩虹的循环
void rainbowCycle(uint8_t wait) 
{ 
    uint16_t i, j; 
 
    for(j = 0; j < 256 * 5; j++) //彩虹循环5次
    { 
        for(i = 0; i < strip.numPixels(); i++) 
        { 
              //为了循环而添加的数学变换
         strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
        } 
        strip.show(); 
        delay(wait); 
    } 
} 
// 输入0-255任意一个数得到对应的唯一的一种颜色 
// 颜色会从红-绿->蓝->红依次渐变循环 
uint32_t Wheel(byte WheelPos) 
{ 
    if(WheelPos < 85) 
    { 
        return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); 
    } 
    else if(WheelPos < 170) 
    { 
        //因为WheelPos * 3在85到170的情况下会超过255,因此要先自减85 
        WheelPos -= 85; 
        return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); 
    } 
    else 
    { 
        //因为WheelPos * 3在170以上的情况下会超过255,因此要先自减170 
        WheelPos -= 170; 
        return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); 
    } 

图库

Front
Back