https://sites.google.com/a/cavedu.com/lab/l4a_lesson1
本範例將透過LabVIEW的Front Panel來控制BlinkM以不同的顏色來閃爍三色LED。您只要拉動Red、Green與Blue這三個長條,就可以控制Arduino控制板上的三色LED,另外在Front Panel右側的Color燈號也會同時顯示對應的顏色。
本範例要控制的BlinkM是一種支援I2C數位通訊介面的RGB三色LED 燈,與傳統類比式的三色LED燈相比,BlinkM的色彩更鮮豔、辨識度更好也可讓我們做到更細膩的控制,當然價錢也比較貴。
1-2 硬體需求與配置
1. Arduino UNO、MEGA2560或是MEGA ADK,一片。
2. 電線,一批
3. 麵包板,一片
4. BlinkM數位三色LED燈,一顆。
5. 330歐姆的電阻,三個。
請將BlinkM如表1-1說明接上Arduino,您可以使用UNO或是MEGA 2560以及其他相容控制板。接線完成圖請參考下圖:
BlinkM 腳位 |
Arduino腳位 |
– |
GND |
+ |
5V |
d |
A4 |
c |
A5 |
1-3 程式說明
程式名稱:Arduino BlinkM.vi
整個BlinkM的Block Diagram程式圖如下,我們將分為1~6來說明各個指令。基本上可分為三個階段:初始化(1&2)、通訊(3&4)以及關閉連線(5&6)。我們可在圖中看到兩條橫向較粗的資料線,上端的是決定執行的順序,下端則是接收由前一個指令所傳過來的錯誤訊息,如果發生錯誤時就會由6.的Simple Error Handler來處理。
圖1-3 EX1-1 Block Diagram配置圖
初始化
1. Init指令
初始化已安裝LabVIEW for Arduino Interface sketch檔案的Arduino控制板,準備進行通訊。請注意鮑率(Baud Rate)必須設定為115200,這也是該參數的預設值。您也可以調整Board Type,本系列文章皆使用Arduino MEGA 2560。
2. BlinkM
初始化BlinkM,設定Arduino上的I2C匯流排為master。
通訊
3. RGB to Color指令
將RGB滑桿的值轉換為顏色。
4. BlinkM GoToRGB指令
使用BlinkM GoToRGB指令將顏色參數傳送給BlinkM。
關閉連線
5. Close指令
關閉對Arduino控制器的通訊。
6. Simple Error Handler指令
如果發生錯誤時,會由本指令來處理,可輸出錯誤代碼(code)與錯誤來源(source)。
我們可以在右下角的error out欄位新增一個Indicator,這樣一來如果發生錯誤時,就能直接在Front Panel上檢視並修正錯誤。