相關(guān)商品

  • 愛上Raspberry Pi 3代套件 樹莓派全家福入門套件 7寸液晶屏
  • USB接口連接線 USB轉(zhuǎn)TTL Arduino 數(shù)據(jù)下載線 USB cable for Arduino
  • 奧松機(jī)器人 Arduino UNO R3 V5.0傳感器擴(kuò)展板 電子積木 正品保障 傳感器套件專配 單片機(jī)開發(fā)
  • Arduino 雙軸按鍵搖桿 PS2游戲搖桿 控制桿 JoyStick 電子積木
  • 奧松機(jī)器人 按壓式大按鍵模塊 數(shù)字電子模塊 大按鈕 開關(guān)按鍵板
  • 碰撞傳感器 碰撞開關(guān) 按鍵 輕觸按鍵 輕觸開關(guān) arduino 機(jī)器人
  • Arduino 電容觸摸傳感器 數(shù)字觸摸開關(guān) Touch 觸摸感應(yīng)按鍵模塊
  • Arduino 大按鈕模塊(紅色) 電子積木 碰撞開關(guān) 機(jī)器人配件
  • 愛上 Arduino RGB Monome 全彩LED 三色led 多色 RGB共陰 LED燈
  • Starduino UNO R3 控制器 ATmega328P-PU+ATmega32U2 (直插) 兼容Arduino
  • Starduino控制器 Arduino 舵機(jī)控制器 奧松機(jī)器人
  • Arduino uno 配套 傳感器擴(kuò)展板 Arduino XBee Sensor Shield
  • Arduino RGB LED 模塊 全彩LED燈 LED流水燈模塊 機(jī)器人配件
  • RGB模塊 串行RGB傳感器 全彩LED模塊 可級(jí)聯(lián)RGB模塊 發(fā)光傳感器
  • 相關(guān)文章

    當(dāng)前位置: 首頁 > 產(chǎn)品評(píng)測(cè) > 【產(chǎn)品測(cè)評(píng)】基于RGB Serial的簡易變色臺(tái)燈

    【產(chǎn)品測(cè)評(píng)】基于RGB Serial的簡易變色臺(tái)燈

    編輯:neil2016-11-08 瀏覽次數(shù):1274

    RGB 串行發(fā)光模塊是基于 P9813 全彩 LED 驅(qū)動(dòng)芯片的 RGB 模塊,LED 選用了霧狀的 RGB,防止通電時(shí)它發(fā)出非常刺眼的光。模塊使用兩線串行通信方式,最大限度的節(jié)省單片機(jī)的接口,單個(gè)模塊的工作電流只有大約 20mA,支持多個(gè)模塊通過前級(jí)模塊輸出接口與后級(jí)模塊輸入口連接的方式進(jìn)行級(jí)聯(lián),最多可同時(shí)級(jí)聯(lián) 1024 個(gè)同類模塊,與 Arduino、Raspberry Pi 等主流硬件都可以配合使用,多個(gè) RGB 模塊級(jí)聯(lián)在一起我們可以制作很多炫彩的裝飾品,重要的是不管多少個(gè)模塊級(jí)聯(lián)在一起,都只是占用了單片機(jī)的兩個(gè)數(shù)字接口! 

           下面我們就使用RGB Serial 模塊來制作一個(gè)簡易臺(tái)燈,它可以通過一個(gè)小按鍵來控制RGB不同的狀態(tài)

    在實(shí)驗(yàn)前,先對(duì)RGB Serial模塊的接口做個(gè)簡單的介紹

    在之前的介紹中也提過,模塊使用的是兩線串行通信方式,它的四個(gè)輸入引腳分別是:+、-、CIN、DIN

    l -:電源地

    l +:電源正極

    l CIN:串行輸入時(shí)鐘線

    l DIN:串行輸入數(shù)據(jù)線

    RGB Serial模塊同樣提供了四個(gè)輸出引腳,用于模塊之間的級(jí)聯(lián),分別是:+、-、COUT、DOUT

    l -:電源地

    l +:電源正極

    l COUT:串行輸出時(shí)鐘線

    l DOUT:串行輸出數(shù)據(jù)線

    接口如下圖所示:


     

    * 試驗(yàn)代碼

    #include  <ChainableLED.h>

    #define button 6

    #define ledCount  1

    int val = 0;

    int old_val = 0;

    int state = 0;

    float j,f,k;

    ChainableLED leds(7, 8, ledCount);

    void setup()

    {

      Serial.begin(9600);

      leds.init();

      pinMode(button,INPUT);

    }

    float hue = 0.0;

    boolean up = true;

    void loop()

    {

      if(debounce(button) == 1)

      {

        color1();

      }

      else if(debounce(button) == 2)

        {

        color2();  

      }

      

        else if(debounce(button) == 3)

        {

        color3();  

      }

          else if(debounce(button) == 4)

        {

        color4();  

      }

          else if(debounce(button) == 5)

        {

        color5();  

      }

    else

    leds.setColorRGB(0, 0, 0, 0);

    }

    int debounce(int pin)

    {

    val = digitalRead(button);

    if((val == LOW) && (old_val==HIGH))

    {

    state++;

    delay(40);

    if(state >= 6)

    state = 0;

    }

    old_val = val;

    return state;

    }

    //隨機(jī)變化

    void color1()

    {

      for (uint8_t t = 0; t < ledCount; t++)

      {

        uint8_t red =   52*(1+sin(t/2.0 + j/4.0       ));

        uint8_t green = 52*(1+sin(t/1.0 + f/9.0  + 2.1));

        uint8_t blue =  52*(1+sin(t/3.0 + k/14.0 + 4.2));

        leds.setColorRGB(t, red,green,blue);

      }

      j+=random(1,20)/6.0;

      f+=random(1,20)/6.0;

      k+=random(1,20)/6.0;

    }

    //三色閃爍

    void color2()

    {

       leds.setColorRGB(0, 0,0,0);

       for (uint8_t t = 0; t < ledCount; t++)

      {

        uint8_t red =   52*(1+sin(j/4.0       ));

        uint8_t green = 52*(1+sin( f/9.0  + 2.1));

        uint8_t blue =  52*(1+sin(k/14.0 + 4.2));

        leds.setColorRGB(t, red,green,blue);

      }

      j+=random(1,20)/6.0;

      f+=random(1,20)/6.0;

      k+=random(1,20)/6.0;      

    }

    //藍(lán)色呼吸

    int bri = 0, st = 0;

    void color3()

    {

     

      if(bri>=100) st=1;

      if(bri<=5) st=0;

      if(st==1)bri=bri-5;

      else bri=bri+5;

      for(int t=0;t

      {

        leds.setColorRGB(t, 0, 0, bri); // parameter description: led number, red, green, blue, flash mode

      }

      delay(20);

    }

    // 綠色呼吸

    void color4()

    {

     

      if(bri>=100) st=1;

      if(bri<=5) st=0;

      if(st==1)bri=bri-5;

      else bri=bri+5;

      for(int t=0;t

      {

        leds.setColorRGB(t, 0, bri, 0); // parameter description: led number, red, green, blue, flash mode

      }

      delay(20);

    }

    //紅色呼吸

    void color5()

    {

     

      if(bri>=100) st=1;

      if(bri<=5) st=0;                                                                                                                    

      if(st==1)bri=bri-5;

      else bri=bri+5;

      for(int t=0;t

      {

        leds.setColorRGB(t,bri, 0,  0); // parameter description: led number, red, green, blue, flash mode                                            

      }

      delay(20);

      j+=random(1,28);

    }

     

    * 試驗(yàn)效果

    當(dāng)按下大按鈕模塊的按鍵時(shí),RGB Serial根據(jù)預(yù)設(shè)狀態(tài)依次變化:

    按下第一次,RGB Serial 顏色隨機(jī)變化;

    按下第二次,RGB Serial模塊三色閃爍;

    按下第三次,RGB Serial模塊為藍(lán)色呼吸燈狀態(tài);

    按下第四次,RGB Serial模塊為綠色呼吸燈狀態(tài);

    按下第五次,RGB Serial模塊為紅色呼吸燈狀態(tài);

    按下第六次,RGB Serial模塊熄滅;以此循環(huán)

     

    這里只是給大家做了一個(gè)小實(shí)驗(yàn),在實(shí)際制作過程中,我們可以給RGB Serial模塊加上透明的外殼,讓閃爍看起來更加美觀,要了解更多內(nèi)容,大家可以點(diǎn)擊進(jìn)入:Supermaker團(tuán)隊(duì)為我們精心拍攝的視頻: http://supermaker.tv/video/245.html

    ----------------------------------------------------------------------------------------------------------------

    奧松機(jī)器人官網(wǎng):www.robotbase.cn

    微信號(hào):搜索公眾號(hào)“奧松機(jī)器人”

    QQ群: 271230889(討論,解惑)

    微博:@奧松機(jī)器人基地

    ----------------------------------------------------------------------------------------------------------------

    溫馨提示:予人玫瑰,手留余香;如果你喜歡這篇文章,不妨轉(zhuǎn)發(fā)推薦給你身邊的朋友!

     

    • 用戶評(píng)價(jià)

    暫時(shí)還沒有任何用戶評(píng)論

    總計(jì) 0 個(gè)記錄,共 1 頁。 第一頁 上一頁 下一頁 最末頁
    用戶名: 匿名用戶
    E-mail:
    評(píng)價(jià)等級(jí):
    評(píng)論內(nèi)容:
    驗(yàn)證碼:
    captcha

    Hi,大家好,我是小奧!

    歡迎來到奧松機(jī)器人的世界!

    需要咨詢服務(wù)請(qǐng)點(diǎn)小奧哦!

    • 銷售咨詢: 銷售咨詢
    • 銷售咨詢: 銷售咨詢
    • 技術(shù)支持: 技術(shù)支持
    • 咨詢電話:
      0451-86628691
    Top