實驗的效果是 6個rgb彩色流水燈依次點亮,顏色變化依次為:紅色-綠色-藍色-白色-黃色-青色,如下圖。
arduino uno r3 開發板:1
杜邦線:10
rgb彩色流水燈模組:1
在 樹莓派gpio控制rgb彩色led燈 中,介紹了rgb彩色流水燈的原理以及點亮乙個led燈的方法。本篇文章,我們用**實現依次點亮led燈,在點亮的同時,改變rgb的輸出值,就可以改變rgb燈顯示的顏色,從而實現彩色的流水燈。
硬體使用了乙個rgb彩色流水燈模組,模組上整合了8個共陽rgb彩色led燈,使用時只需要將模組上的引腳接到arduino uno r3開發板上即可,不用自己連線電阻,方便了使用。要注意的是,由於我杜邦線不夠,所以就只是用了模組上的6個rgb燈。如果你要控制8個rgb燈,你應該修改我使用的**。
arduino控制rgb彩色燈就需要使用pwm輸出,本文使用analogwrite函式來產生pwm。脈寬調變(pwm)是一種用數字手段獲得模擬結果的技術。數字控制用於產生方波,訊號在只能在開與關之間切換。這種開關模式通過改變高電平持續時間與低電平持續時間比值,可以模擬在開(5伏)和關閉(0伏)之間的任一模擬電壓。高電平持續時間稱為為脈衝寬度。為了獲得不同的模擬值,可以改變或調整脈衝寬度。
analogwrite(pin, val)命令:其中pin是引腳的編號,在uno r3上只能使用3,5,6,9,10,11這幾個引腳;val是0~255的整數值,對應電壓從0到+5v,不同的值對應不同的占空比,通過控制占空比從而模擬出不同的模擬電壓值,實現pwm控制。不同的值對應的占空比如下:
產生pwm的示例**:
int pin = 11; //可以選擇3,5,6,9,10,11這種方式產生的方波週期大概是2ms左右(490hz),占空比位50%,產生方波不需要占用額外的cpu命令時間。void setup()
void loop()
rgb彩色流水燈模組的引腳與uno的連線對應關係如下:
rgb led ———— arduino uno r3
r ————9
g ———— 11
b ————10
vcc —— 5v
d0————2
d1————3
d2 ———— 4
d3 ———— 5
d4 ———— 6
d5 ———— 7
點亮6個rgb彩色流水燈的**如下,顏色變化順序為:紅色-綠色-藍色-白色-黃色-青色
/** ide版本號:1.8.2
* 作用:共陽rgb流水燈迴圈點亮
*///定義rgb燈顏色控制引腳
int r=9;
int g=11;
int b=10;
int t=1000; //延時時間控制
void setup()
pinmode(r,output);
pinmode(g,output);
pinmode(b,output);
}void loop() //從右到左熄滅rgb流水燈 for(int i=7;i>2;i--) }
//顏色控制函式
void setcolor(int r,int g,int b)
//選擇要顯示的顏色
void color(int c)
}
使用Arduino開發板點亮RGB全彩LED燈
使用arduino開發板點亮rgb全彩led燈 所需的元件 1.乙個rgb led燈 2.3個220歐電阻 3.arduino麵包板 4.麵包板和跳線 源 int redpin 7 int greenpin 6 int bluepin 5 void setup 所以現在在loop函式中我們將製作程式...
使用Arduino開發板點亮RGB全彩LED燈
使用arduino開發板點亮rgb全彩led燈 什麼是rgb led燈?rgb led燈是以紅綠藍三色混光而成。rgb是從顏色發光的原理來設計定的,通俗點說它的顏色混合方式就好像有紅 綠 藍三盞燈,當它們的光相互疊合的時候,色彩相混,而亮度卻等於兩者亮度之總和,越混合亮度越高,即加法混合。紅 綠 藍...
灰度於RGB彩色
影象灰度值的概念是什麼?灰度也可以認為是亮度,簡單說就是色彩的深淺程度。實際上在我們的日常生活中,通過三原色色彩深淺的組合,可以組成各種不同的顏色。產品能夠展現的灰度數量越多,也就意味著這款產品的色彩表現力更加豐富,能夠實現更強的色彩層次。例如三原色16級灰度,能顯示的顏色就是16 16 16 40...