benny 發表於 2016-7-6 11:45

Makeblcok電子模組手冊----彩色LED燈

彩色LED燈
http://bbs.makeblock.com/data/attachment/forum/201511/14/093147t6w5wg6gj7ltyfzy.png
1 、概述
彩色LED模組包含四個可調全色域RGB LED。每個LED的顏色可以紅(R)、綠(G)、藍(B)三個顏色的數值大小來決定。每個RGB LED 內部集成了控制芯片,只需一根信號線就可以實現獨立全彩功能。具備高亮和亮度可調的特點,從而可以實現流水、閃爍、彩虹燈等效果。本模組接口是黃色色標,說明是單數字口控制,需要連接到主板上帶有黃色標識接口。2 、技術規格
l 工作電壓: 5V DCl 燈數量: 4 x RGB LEDl 最大電流:每個60mA,共240mAl 燈型號:WS2812-4l 亮度範圍:0~255l 控制方式:單數字口控制l 工作溫度:-25~+80℃l 可視角:>140 度l 模組尺寸:52 x 24 x 18 mm (長x寬x高)3 、功能特性
l 每個像素點的三基色顏色可實現256級亮度顯示,完成16777216種顏色的全真色彩顯示,掃描頻率不低於400Hz/s。l 串行級聯接口,能通過一根信號線完成數據的接收與解碼;l 模組的白色區域是與金屬梁接觸的參考區域;l 具有反接保護,電源反接不會損壞IC;l 支持Arduino IDE編程, 並且提供運行庫來簡化編程;l 支持mBlock圖形化編程,適合全年齡用戶;l 使用RJ25接口連線方便;l 模組化安裝,兼容樂高系列;l 配有接頭支持絕大多數Arduino系列主控板。
發光顏色主波長(nm)發光強度(mcd)最大電流(mA)
紅光620-630550-70020
綠光515-5301100-140020
藍光465-475200-40020

4 、引腳定義
彩色LED模組有三個針腳的接頭,每個針腳的功能如下表
序號引腳功能
1GND接地
2VCC接電源
3SIG信號控制
表1 3-Pin 接口功能5 、接線方式
l RJ25連接由於彩色LED模組接口是黃色色標,當使用RJ25接口時,需要連接到主控板上帶有黃色色標的接口。以Makeblock Orion為例,可以連接到3,4,5,6,7,8 號接口,如圖http://bbs.makeblock.com/data/attachment/forum/201511/14/093229mtjfjozhiimmy5jm.png圖1 Me RGB LED 模組與Makeblock Orion連接l 杜邦線連接當使用杜邦線連接到Arduino Uno主板時,模組SIG引腳需要連接到DIGITAL(數字)口,如下圖所示:http://bbs.makeblock.com/data/attachment/forum/201511/14/093241vld00lley27p2k2b.png圖2 彩色LED模組與Arduino UNO 連接圖注:接杜邦線時,模組上需要焊接排針。6 、編程指南
l Arduino編程如果使用Arduino編程,需要調用庫Makeblock-Library-master 來控制彩色LED模組本程序通過Arduino編程讓四個LED變幻色彩, 展現出美麗的顏色循環.
#include "MeOrion.h"
#include <Wire.h>
#include <SoftwareSerial.h>

MeRGBLed led(PORT_3);
float j, f, k;

void setup()
{
}

void loop()
{
    color_loop();
}

void color_loop()
{
    for(uint8_t t = 0; t < 15; t++)
    {
      uint8_t red = 64 * (1 + sin(t / 2.0 + j / 4.0) );
      uint8_t green = 64 * (1 + sin(t / 1.0 + f / 9.0 + 2.1) );
      uint8_t blue = 64 * (1 + sin(t / 3.0 + k / 14.0 + 4.2) );
      led.setColorAt(t, red, green, blue);
    }
    led.show();
    j    += random(1, 6) / 6.0;
    f    += random(1, 6) / 6.0;
    k    += random(1, 6) / 6.0;
}



彩色LED模組函數功能列表
函數功能
MeRGBLed(uint8_t port)選定接口
void show()開始顯示
void setNumber(uint8_t num_leds)設定LED總數
Bool setColorAt(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)設定LED紅綠藍參數
uint8_t getNumber()獲取LED總數
cRGB getColorAt(uint8_t index)獲取LED紅綠藍參數
void reset(uint8_t port);重置端口
void clear();清除顯示

l mBlock編程彩色LED模組支持mBlock編程環境,如下是該模組指令簡介


編程說明介 紹
http://bbs.makeblock.com/data/attachment/forum/201511/14/160459bthgl6th4dzz2d2w.png參數一 :選擇接口參數二 :設置需要控制的燈號參數三 :設定紅色數值(0-255)   參數四 :設定綠色數值(0-255)參數五 :設定藍色數值(0-255)功能 :控制RGB模組


下面是控制RGB燈以紅色每隔一秒鐘不停閃爍的效果http://bbs.makeblock.com/data/attachment/forum/201511/14/093330g8wlfyljuv0wdjkj.png



7 、原理解析
    RGB 燈的數據協議採用單線歸零碼的通訊方式,像素點在上電複位以後,DIN端接受從控制器傳輸過來的數據,首先送過來的24bit數據被第一個像素點提取後,送到像素點內部的數據鎖存器,剩餘的數據經過內部整形處理電路整形放大後通過DO端口開始轉發輸出給下一個級聯的像素點,每經過一個像素點的傳輸,信號減少24bit。像素點採用自動整形轉發技術,使得該像素點的級聯個數不受信號傳送的限制,僅僅受限信號傳輸速度要求。
頁: [1]
查看完整版本: Makeblcok電子模組手冊----彩色LED燈