2016年5月30日 星期一

LabVIEW: 聲音擷取+頻譜分析

   這個練習非常簡單: 從麥克風讀取一秒鐘的資料,然後輸出至圖表,並作頻譜分析。




人機介面&執行結果



Block digram



Acquire Sound的設定




Spectral Measurements的設定

2016年5月29日 星期日

Arduino + Labview: LM35溫度感測器,即時溫度監控

    利用Arduino開發板上的類比輸入,讀取溫度感測IC上的值,轉成實際溫度然後透過Serial port傳輸至電腦,而電腦這端則是利用LabView來接收,並做適當轉換後以圖表作為監控介面。

實驗結果:




     Arduino這邊的程式很簡單,先初始化serial port,然後再經由A0讀入LM35的感測值,要注意這個感測值是10位元(bits),根據LM35的datasheet得之,正確溫度的計算方式是每10mV(0.01V)增加一度C,也就是說0V代表0度C,0.1 V(10*0.01V)代表10度C,以此類推。因為每次讀回10bit的資料 n,我們要將n換成電壓值: (5V/1024)*n ,又每10mv 增加一度,所以實際溫度=(5V/1024)*n/10mV = (500/1024)*n

     算出實際溫度之後,利用Serial.print()函數將資料輸出至Serial port傳輸至電腦(我的系統是COM6),此時的資料是字串型式(每筆資料都是整數兩位數,小數兩位數,加上小數點共五個字元, EX:  28.93)。

void setup() 
{
  Serial.begin(9600); 
}

void loop()
{
  float x;
  int n;
  n = analogRead(0);
  x = 500.0 * n /1024.0;
  Serial.print(x, 2); 
  delay(500);
}

再來是電腦這邊的Labview程式,

Labview的Block diagram

Labview的人機介面


2016年5月3日 星期二

LabVIEW: 用手機透過網路,監控電腦的 Labview 程式

          如何用手機透過網路來監控遠端的Labview程式呢? 首先你必須先在電腦上寫一個Labview程式,然後宣告一個 shared variable並公開出來,然後在手機裝上data dashboard的app,再用這個app的indicator連上電腦的shared variable就可以了,概念其實很簡單,以下就是詳細步驟:


開一個專案,並且在專案中New一個 Variable


我New一個Variable,並命名為v1


記得要先存檔

存完檔之後再用滑鼠拖曳至你的程式中

我想把這個shared variable(v1)當成輸出,所以記得在v1上按滑鼠右鍵,再選擇Access Mode中的Write屬性


最後將程式執行起來,這個程式很簡單,就是用亂數產生數值再乘以10之後,再送往v1


手機端需要一個app,請先用google play搜尋 "data dashboard for labview",沒錯,就是最上面那一個,安裝她吧!


安裝完之後,執行這個app,會進入這個畫面,按中間那個"+Add"


再點選"Connect to shared variable..."


輸入Labview程式所在的電腦 ip address之後,按"Connect..."


Connect完成,手機螢幕會秀出可以連結的share variables,點選v1


系統顯示出V1為數值變數


接下來選擇indicator,我選右上角那個指針式的顯示器


數值範圍設定為0.0~10.0


顯示器出現後,點選右上角的"Run",進行動態連結~~~



執行結果!!!! ~~~~~~~是不是很酷呢?


LabVIEW: 神兵利器 Formula Node

        在LabView中,有一個Structure叫做Formula Node,這個結構可以讓你用C 語言定義變數和寫一段程式,相當於C的副程式,非常好用,對於熟悉C語言的人來說,簡直就是一項神兵利器,應該善加利用~~~~





Formula Node隱身在Structure項目中



Formula Node可以定義多個輸入和輸出,中間放置用C 語言寫的程式碼,非常直覺,也非常方便。



數學計算: "連加"(1加到10)和"階層(5!)",一下子就搞定了,是不是很容易呢?


LabVIEW: 透過網路遙控程式

        這個練習主要是透過網路連線來控制遠端的labview的程式,labview可以利用client-server的架構,啟動webserver的服務,接受來自遠端的請求,利用這樣的服務,我們就可以透過網頁來控制遠方的系統了,很方便。


程式執行結果


一個簡單程式


人機介面



選擇 Tools->Web Publishing Tool


選擇你的程式並勾選 "Request control when connection is established" 


這一頁,可以不修改


記住URL名稱,等一下開網頁連進來


設定完畢


開啟一個網頁,把剛剛的網址敲入,連線成功,並且可以即時控制這個labview程式。