-26%

Grove – Chainable RGB LED 全彩 RGB 可串接式 LED 模組

NT$162 NT$120 未稅

Grove – Chainable RGB LED是基於P9813全彩LED驅動晶片的RGB LED模塊。它支持串接,最多可同時串接1024個同類模組。

尚有庫存

貨號: 104030006(C1-17) 分類: , , 標籤: , , , ,
  • 商品說明

商品說明

Grove – Chainable RGB LED 產品介紹

Grove – Chainable RGB LED是基於P9813全彩LED驅動晶片的RGB LED模塊。它支持串接,最多可同時串接1024個同類模組。

 

規格

  • 工作電壓: 5V
  • 工作電流: 20mA
  • 通信協議: 串口

Grove - Chainable RGB LED 全彩 RGB 可串接式 LED

 

應用示例

接下來我們展示這樣一個Demo:多個RGB燈的顏色統一漸變。硬件連接圖: Picture

完成這個Demo,你需要一個或者多個Grove – Chainable RGB LED。注意在級聯RGB模塊時, Grove – Chainable RGB LED的IN接口連接到Grove – Base Shield的D7/D8管腳。它的OUT接口要連接到另一個RGB的IN接口,按照這種方式級聯更多的Grove – Chainable RGB LED模塊。

  • 下載Chainable LED庫文件並安裝到Arduino的Library路徑下。在wiki首頁有一篇關於如何安裝庫文件的課程供參考。
  • 通過路徑:File->Examples->CnainableLED_master 打開例程:CycleThroughColors並上傳,你就可以觀察到Demo效果。
/* 
 * Example of using the ChainableRGB library for controlling a Grove RGB.
 * This code cycles through all the colors in an uniform way. This is accomplished using a HSB color space. 
 */
#include <ChainableLED.h>

#define NUM_LEDS 5

ChainableLED leds(7, 8, NUM_LEDS);

void setup()
{
}

float hue = 0.0;
boolean up = true;

void loop()
{
  for (byte i=0; i<NUM_LEDS; i++)
    leds.setColorHSB(i, hue, 1.0, 0.5);
    
  delay(50);
    
  if (up)
    hue+= 0.025;
  else
    hue-= 0.025;
    
  if (hue>=1.0 && up)
    up = false;
  else if (hue<=0.0 && !up)
    up = true;
}

擴展應用:

基於可鍊式LED庫,我們設計了這個演示:RGB顏色隨Grove測量的溫度而變化 – 溫度。當溫度為25到32時,RGB顏色從綠色變為紅色。測試代碼如下所示。如果您對此感興趣,請這樣做。

    // demo of temperature -> rgbLED
    // temperature form 25 - 32, rgbLed from green -> red
    // Grove-temperature plu to A0
    // LED plug to D7,D8

    #include<Streaming.h>
    #include<ChainableLED.h>

    #define TEMPUP 32
    #define TEMPDOWN 25

    ChainableLED leds(7,8,1);// connect to pin7 and pin8 , one led

    int getAnalog () // get value from A0
    {
        intsum = 0 ;
        for(int i = 0;i <32;i++)
        {
            sum+=analogRead(A0);
        }

        return sum >>5;
    }

    float getTemp () // get temperature
    {
        float temperature = 0.0 ;
        float resistance = 0.0 ;
        int B = 3975;//B value of the thermistor

        int a = getAnalog();

        resistance=(float)(1023-a)*10000/a;//get the resistance of the sensor;
       temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;//convert to temperature via datasheet ;
        return temperature;
    }

    void ledLight(intdta)// light led
    {

        dta=dta/4;// 0 - 255

        int colorR=dta;
        int colorG=255-dta;
        int colorB=0;

        leds.setColorRGB(0,colorR,colorG,colorB);
    }

    void setup()
    {
        Serial.begin(38400);
        cout  <<"hello world !"<<endl;
    }

    void loop()
    {
        float temp=getTemp();
        int nTemp=temp*100;

        nTemp=nTemp >TEMPUP *100 ?TEMPUP *100:(nTemp <TEMPDOWN*100?TEMPDOWN*100 :nTemp);
        nTemp=map(nTemp,TEMPDOWN*100,TEMPUP*100,0,1023);
        ledLight(nTemp);
        delay(100);
    }

 

出貨清單

  • Grove – Chainable RGB LED x1
  • Grove連接線 x1

 

Documents

 

台灣物聯科技 TaiwanIOT