LabVIEW for Arduino_Lesson01 BlinkM三色LED閃爍

https://sites.google.com/a/cavedu.com/lab/l4a_lesson1

本範例將透過LabVIEW的Front Panel來控制BlinkM以不同的顏色來閃爍三色LED。您只要拉動Red、Green與Blue這三個長條,就可以控制Arduino控制板上的三色LED,另外在Front Panel右側的Color燈號也會同時顯示對應的顏色。 

圖1-1a EX1-1執行畫面 

本範例要控制的BlinkM是一種支援I2C數位通訊介面的RGB三色LED 燈,與傳統類比式的三色LED燈相比,BlinkM的色彩更鮮豔、辨識度更好也可讓我們做到更細膩的控制,當然價錢也比較貴。 

圖1-1b BlinkM數位三色LED燈

1-2 硬體需求與配置

1. Arduino UNO、MEGA2560或是MEGA ADK,一片。 

2. 電線,一批 

3. 麵包板,一片 

4. BlinkM數位三色LED燈,一顆。 

5. 330歐姆的電阻,三個。 

請將BlinkM如表1-1說明接上Arduino,您可以使用UNO或是MEGA 2560以及其他相容控制板。接線完成圖請參考下圖:

 

表1-1 BlinkM與Arduino腳位對應

BlinkM 腳位

Arduino腳位

GND

+

5V

d

A4

c

A5

 

圖1-2 EX1-1配置圖

 

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。 

圖1-4a Init.vi說明 
圖1-4b 設定鮑率與Arduino型號 

2. BlinkM 

初始化BlinkM,設定Arduino上的I2C匯流排為master。 

圖1-5 BlinkM Init指令

通訊

3. RGB to Color指令 

將RGB滑桿的值轉換為顏色。

圖1-6 RGB to Color指令 

4. BlinkM GoToRGB指令 

使用BlinkM GoToRGB指令將顏色參數傳送給BlinkM。 

圖1-7 BlinkM GoToRGB指令

關閉連線


5. Close指令 

關閉對Arduino控制器的通訊。

圖1-8 Close指令 

6. Simple Error Handler指令 

如果發生錯誤時,會由本指令來處理,可輸出錯誤代碼(code)與錯誤來源(source)。 

圖1-9 Simple Error Handler指令 

我們可以在右下角的error out欄位新增一個Indicator,這樣一來如果發生錯誤時,就能直接在Front Panel上檢視並修正錯誤。 

 
圖1-10 以Indicator來顯示可能發生的錯誤

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *