LabVIEW for Arduino_Lesson01_第一章 BlinkM三色LED閃爍


LabVIEW圖形化開發環境結合Arduino開放式硬體 

第一章 BlinkM三色LED閃爍 

曾吉弘 翁子麟 謝宗翰 盧玟攸 

內容

1-1 學習重點

1-2 硬體需求與配置

1-3 程式說明

1-4 總結

1-5 延伸

1-1 學習重點

本範例將透過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來顯示可能發生的錯誤 


1-4 總結


這是我們第一個LabVIEW for Arduino程式,您從中可以了解到LabVIEW是如何與Arduino控制器進行通訊,並控制指定腳位的狀態。

1-5 延伸挑戰


1. 請試著將三色LED接到Arduino板上不同的pin腳並調整LabVIEW的參數讓它正確運作。 請再接上第二顆或更多三色LED,試著同步操作它們或是讓它們依序閃爍。
Comments