《博哥玩Arduino》 藍芽七彩燈基礎版

2021-10-01 05:08:22 字數 3040 閱讀 9784

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

int redpin =9;

int greenpin =10;

int bluepin =11;

void

setup()

void

loop()

void

colorrgb

(int red,

int green,

int blue)

然後,附上arduino**:

/**

* 日期: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 表示木棒的長度。輸出格式 對於每組...