Sensor – ME RGB LED

概述:

彩色LED模組包含四個可調全色域RGB LED。每個 LED的顏色可以紅(R)、綠(G)、藍(B)三個顏色的數值大小來決定。每個RGB LED內部集成了控制晶片,只需一根信號線就可以實現獨立全彩功能。具備高亮和亮度可調的特點,從而可以實現流水、閃爍、彩虹燈等效果。本模組介面是黃色色標,說明是單數字口控制,需要連接到主機板上帶有黃色標識介面。

 

功能特性:

  • 每個圖元點的三基色顏色可實現256級亮度顯示,完成16777216種顏色的全真色彩顯示,掃描頻率不低於400Hz/s
  • 串列級聯介面,能通過一根信號線完成資料的接收與解碼
  • 模組的白色區域是與金屬梁接觸的參考區域
  • 具有反接保護,電源反接不會損壞IC
  • 支援Arduino IDE程式設計, 並且提供運行庫來簡化程式設計
  • 支援mBlock圖形化程式設計,適合全年齡用戶
  • 使用RJ25介面連線方便
  • 模組化安裝,相容樂高系列
  • 配有接頭支援絕大多數Arduino系列主控板

 

技術規格:

  • 工作電壓: 5V DC
  • 燈數量: 4 x RGB LED
  • 最大電流:每個60mA,共240mA
  • 燈型號:WS2812-4
  • 亮度範圍:0~255
  • 控制方式:單數字口控制
  • 工作溫度:-25~+80℃
  • 可視角:>140 度
  • 模組尺寸:52 x 24 x 18 mm (長x寬x高)

 

發光顏色

主波長(nm)

發光強度(mcd)

最大電流(mA)

紅光620-630550-70020
綠光515-5301100-140020
藍光465-475200-40020

引腳定義

彩色LED模組有三個針腳的接頭,每個針腳的功能如下表

序號

引腳

功能

1GND地線
2VCC電源線
3SIG信號控制

表 1 3-Pin 介面功能

接線方式

  • RJ25連接

由於彩色LED模組介面是黃色色標,當使用RJ25介面時,需要連接到主控板上帶有黃色色標的介面。以Makeblock Orion為例,可以連接到3,4,5,6,7,8 號介面,如圖

1

圖 1 Me RGB LED 模組與 Makeblock Orion連接

  • 杜邦線連接

當使用杜邦線連接到Arduino Uno主機板時,模組SIG引腳需要連接到 DIGITAL(數位)口,如下圖所示:

1

圖 2 彩色LED模組與 Arduino UNO 連接圖

注:接杜邦線時,模組上需要焊接排針。

程式設計指南

  • Arduino程式設計

如果使用Arduino程式設計,需要調用庫Makeblock-Library-master 來控制彩色LED模組

本程式通過Arduino程式設計讓四個LED變幻色彩, 展現出美麗的顏色迴圈.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#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();清除顯示

 

原理解析

RGB燈的資料協定採用單線歸零碼的通訊方式,圖元點在上電重定以後,DIN端接受從控制器傳輸過來的資料,首先送過來的24bit資料被第一個圖元點提取後,送到圖元點內部的資料鎖存器,剩餘的資料經過內部整形處理電路整形放大後通過DO埠開始轉發輸出給下一個級聯的圖元點,每經過一個圖元點的傳輸,信號減少24bit。圖元點採用自動整形轉發技術,使得該圖元點的級聯個數不受信號傳送的限制,僅僅受限信號傳送速率要求。