3.材料
4.除錯過程
5.總結
很久以前在其他平台發布了一些帖子,趁著有時間就同步到一起。這裡主要是做乙個藍芽版本的rgb燈。
歡迎點讚關注博主。
由於我這裡修改了藍芽模組的名字,需要自己命名的可以看這篇:
之所以叫rgb,是因為這個led是由紅(red)、綠(green)和藍(blue)三色組成。我們電腦的顯示器也是由乙個個小的紅、綠、藍點組成的。可以通過調整三個led中每個燈的亮度就能產生不同的顏色。
rgb燈有4個引腳,r、g、b三個引腳連線到led燈的一端,還有乙個引腳是共用的正極(vcc)或者共用的陰極(gnd)。假設這裡選用的是共陰rgb。r、g、b其實就是三個led的正極,把它們的負極拉到乙個公共引腳上了,它們公共引腳是負極,所以稱之為共陰rgb。
rgb燈如何使用呢?如何實現變色呢?
rgb只是簡單的把三個顏色的led燈封裝在乙個led中。只要當做三個燈使用就可以了。我們都知道紅色、綠色、藍色是三原色,arduino通過pwm口對三種顏色明暗的調節,也就analogwrite(value)語句,就能讓led調出任何你想要的顏色。
使用pwm可以產生0~255之間的全部顏色,共16777216種顏色(256×256×256),市面上那些說自己有1000萬種顏色的燈就是這個原理。
共陽rgb與共陰rgb的區別(需要去試驗):
舉個例子:共陰rgb顯示紅色為r-255,g-0,b-0。然而共陽則完全相反,rgb數值是r-0,g-255,b-255。
配件數量
arduino 開發板
1(我這裡用mega)
hc06 藍芽模組
1安卓手機
1杜邦線
若干rgb模組
1
然後,附上arduino**:int redpin =9;
int greenpin =10;
int bluepin =11;
void
setup()
void
loop()
void
colorrgb
(int red,
int green,
int blue)
注意點:/**
* 日期:2016/11/24
* 功能:藍芽檯燈
**/#define btserial serial1
#define mydebugserial serial
//該條語句用於使能debug輸出資訊,遮蔽掉就不會輸出debug除錯資訊
#define debug
#ifdef debug
#define dbgln(message) mydebugserial.println(message)
#else
#define dbgln(message)
#endif
#define pin_red 9
#define pin_green 10
#define pin_blue 11
int red =0;
//紅色
int green =0;
//綠色
int blue =0;
//藍色
void
setup()
void
loop()
}/**
* 讀取串列埠緩衝區裡面的資料
* */
intreceivebtmessage()
if(c==
';')
break;}
int slen =
strlen
(data.
c_str()
);int i,r,g,b;
for(i =
0; i <= slen; i++)}
dbgln
(data)
;int isize;
//"+c,10:100,255,60;"
string _size = data.
substring(2
, i)
; isize = _size.
toint()
;for
(r=i+
1;r<=slen;r++)}
for(g=r+
1;g<=slen;g++)}
for(b=g+
1;b<=slen;b++)}
string sred = data.
substring
(i+1
,r);
string sgreen = data.
substring
(r+1
,g);
string sblue = data.
substring
(g+1
,b);
red = sred.
toint()
; green = sgreen.
toint()
; blue = sblue.
toint()
;dbgln
("red:"
+sred)
;dbgln
("green:"
+sgreen)
;dbgln
("blue:"
+sblue)
;return isize;
}else}}
return0;
}void
colorrgb
(int red,
int green,
int blue)
所以arduino 程式的receivebtmessage 就會去解析這個協議。
Why T 為什麼玩微博?
1.我發現自己很很多人一樣,年齡越大,對新鮮事物 除了姑娘 就會越牴觸,尤其是在自認為了解的技術領域。你會下意識的撇撇嘴說,那有什麼呀,技術上太簡單了。08年初的時候我和幾位同事註冊了twitter,及其中國版飯否 嘰歪等 但是沒用上兩個禮拜就放棄了,因為好友名單裡沒有幾個人,大部分時間裡只有你和電...
玩賽博朋克2077 賽博朋克是什麼?
賽博朋克,cyberpunk,單詞計算機和朋克組成。朋克起初為一種 上的叛逆運動,傾向於思想解放和反主流,反烏托邦。不是所有人都過得好,不是所有人都一樣。cyber,cybernetics,維納,控制論 賽博格是人類與機械結合,即義體,賽博朋克是發展賽博格到極限程度的科幻,社會形態 階層分化 社會倫...
洛谷 P2383 狗哥玩木棒
狗哥又趁著語文課幹些無聊的事了.現給出一些木棒長度,那麼狗哥能否用給出的木棒 木棒全用完 組成乙個正方形呢?輸入格式 輸入檔案中的第一行是乙個整數n表示測試的組數,接下來n行表示每組的測試資料。每行的第乙個數為m 4 m 20 接下來m個數ai 1 ai 1000 表示木棒的長度。輸出格式 對於每組...