這一次是要利用藍牙控制RGB LED燈 ,
再搭配一些小小的手工藝DIY,
創造有趣又非常有藝術效果的糖果燈~
目標:建立藍牙連線,輸入RGB值,控制RGB LED燈.
(上圖一:環境不開燈的效果 上圖二:環境開燈效果)
第一步:建立藍牙與LED燈連線
藍牙的詳細設定請看(前篇),
RGB LED 燈有4支pin,
3支分別控制RGB和1支接地.
設定
藍牙序列傳送腳 BT_TX=pin7
藍牙序列接收腳 BT_RX=pin6
LED_Red=pin 3
LED_Green=pin 5
LED_Blue=pin 11
LED_接地=pin GND
第二步:上傳程式
#include <SoftwareSerial.h> const int redPin = 3; SoftwareSerial blueToothSerial(7,6); int red =0; void setup() { Serial.begin(9600); }
void loop() { while (blueToothSerial.available() > 0) { red= blueToothSerial.parseInt(); if (blueToothSerial.read() == '\n') { red = 255 - constrain(red, 0, 255); analogWrite(redPin, red);
void setupBlueToothConnection() |
參考網站
|
程式上傳後藍牙模組開始紅綠燈閃爍,
開始可以使用手機APP建立連線(下載通用APP),
此範例程式接收的數值形式為 三組數字(0~255),用兩個逗號分隔,
比如: 255,255,255 255,100,100, 0,0,0 等等,
255,255,255代表紅綠藍光都開到最強,混色結果為白光,
0,0,0 代表紅綠藍數值都是0,結果為滅燈,
255,0,0 = 全紅光
0,255,0 = 全綠光
0,0,255 = 全藍光
第三步:混光
就功能面來說,其實已經結束了,
不過因為RGB LED燈是由三種顏色混色而得到各種不同的顏色,
如果混色不均勻,
看到的效果就是紅綠藍三個顏色各玩各的,
而不是我們所期望的色彩.
所以我們要製作一個可以讓光混合均勻的媒介~
鏘鏘!!這是在一般文具店手工材料區可以買到的保麗龍球,
用鉛筆豪邁地挖一個洞,
套在LED燈上當燈罩(便宜又簡單),
結果真是出乎意料的好!!混色非常均勻!!超棒der!
第四步:做個藝術燈罩吧!
燈罩怎麼做 ,請參考網站 雜貨風燈罩DIY.
套在LED上,完成!!!!
後記:
這個範例有些不完美的地方,
範例中只提到如何輸入RGB數值,
但若顏色要做到漂亮的漸變效果,
建議可以自行開發手機APP,
UI界面使用HSV的色彩模式,
再經過程式轉換為RGB餵給RGBLED燈。
另外~
如果不想用藍牙控制,
把範例程式碼中blueToothSerial通通改成Serial
就可以用電腦的序列視窗輸入囉~
當然數值形式同樣為三組數值,用兩個逗號隔開.
備註:測試 Arduino 1.5.8 beta 無法正常運行。
留言列表