相關(guān)商品














相關(guān)文章
- 【奧松新品】Arduino極客愛:全新無線Linux板–Arduino Yun
- 【奧松新品】Arduino家族新寵兒——以ARM為核心的Arduino Due
- 【奧松新品】基于Arduino、ADXL335與APC220的無線遙控器
- 【奧松新品】源自Sparkfun——MP3 Player Shield評(píng)測(cè)
- 【奧松新品】MEAS壓電式震動(dòng)傳感器測(cè)評(píng)
- 【奧松新品】基于Arduino的觸摸式變色臺(tái)燈
- 【奧松新品】集成了Arduino控制器的Ethernet評(píng)測(cè)
- 【新書】《Arduino機(jī)器人制作指南》助你圓夢(mèng)
- 【新書】《Arduino機(jī)器人權(quán)威指南》于欣龍譯著重磅發(fā)行
- 【新書】《愛上機(jī)器人:學(xué)Arduino玩轉(zhuǎn)機(jī)器人制作》
- 【奧松新品】水蒸氣傳感器,打造屬于你的“晴雨表”
- 【奧松新品】Speaker發(fā)聲模塊——打造自己的音樂盒
- 【奧松新品】條形LED模塊——制作光線強(qiáng)度指示燈
- 【奧松新品】可調(diào)微型直流潛水泵
- 【奧松新品】四位七段數(shù)碼管——制作時(shí)鐘
- 【產(chǎn)品測(cè)評(píng)】基于 ADXL345 三軸加速度計(jì)的角度測(cè)試儀
- 【產(chǎn)品測(cè)評(píng)】LCD12864 液晶搖桿擴(kuò)展板之貪吃蛇游戲
- 【產(chǎn)品測(cè)評(píng)】Make Sensor 傳感器實(shí)戰(zhàn)攻略
- 【產(chǎn)品測(cè)評(píng)】RTC Module 制作電子時(shí)鐘
- 【產(chǎn)品測(cè)評(píng)】可玩亦可學(xué) Robotis DARWIN MINI 達(dá)爾文迷你
- 【產(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)論