Labview+Arduino+ADXL345數據採集
來自專欄實驗室隨筆11 人贊了文章
這是我第一次在網上寫技術貼~~原因呢,是因為剛開始做這些的時候一頭霧水,找不到比較好的入門資料,走了很多彎路,浪費了很多的時間,所以寫一個技術貼,分享一點點經驗,也希望能給新人一點點小參考。
廢話不多說,馬上開始~
這次分享的是用Arduino採集三軸數字加速度計ADXL345的數據,並通過串口通訊傳輸到PC端的Labview,方便我們做後續的信號處理。
這裡不像通常的做法——在Arduino IDE進行編程,然後在Labview中調用VISA讀取。我分享的這種方法避免了再Arduino上的編程,全部工作都在Labview完成,非常簡便。
這就需要引入一個非常好的Labview插件了,Labview Makerhub LINX,這個插件是專門用來Labview與一些小型板子連接的,比如Arduino,樹莓派之類的,並且並且,劃重點,集成了很多常用的sensor,你只需要連接好硬體,直接在Labview中編程就可以,非常的簡便。如果不知道這個插件,自己手動編寫VISA讀取串口數據,想必經歷過的人都有體會吧。
下載這個插件,當然免費的哦。將你的Arduino連接到PC上,在設備管理器上記下COM口。然後在Labview的工具——Makerhub——LINX——LINX Firmware Wizard,打開軟體界面,這是要向Arduino寫入插件自帶的固件,安裝提示選擇COM口,型號,然後一路next,直到出現Completed.這個時候就算寫入成功。
下面簡單說一下硬體的連接,這個比較簡單。我們使用I2C的方式連接ADXL345,分別接好VCC GND,然後注意:我這裡用的是Arudino UNO這款板子,所以SDA接A4,SCL接A5。劃重點,這個不同的板子略有不同,不要接錯,不懂的可以搜索一下不同板子的接法,網上也比較多。接完之後數一下,一共4條線,防止接錯。
然後進入Labview編程。首先如圖找到ADXL345的三個模塊,open,read,close.這是我們重點使用的模塊。
labview連線圖也比較簡單,貼一張圖上來。整體意思就是先打開serial串口,然後打開ADXL345,在讀取,最後關閉。如果要連續採集數據,需要在read模塊上加一個while循環。這裡需要注意必須加一個時間延遲,因為這個串口通信的速率是有限制的,需要限制讀取速度,否則會出錯或丟失數據,所以咱們加一個10ms的延遲。其他的設置如圖,波特率設置為9600,解析度為2g, I2C地址選擇0X53,channel用默認的0.
設置好後,點擊運行,等待一會,然後可以看到數據被讀出來了。
整個過程是十分方便的,對於一些不會編程或者編程技術不佳的同學,是一個非常好的參考。Labview的圖形化語言儘管拓展性不強,但是勝在方便,嘻嘻嘻~~後續可以利用Labvew進行數據的處理。
謝謝大家~
如果喜歡,請隨手點贊。?
推薦閱讀:
※怎麼對下面的程序提高運算速度?
※如何利用labview實現在一張圖中檢測出車牌的號碼?
※LabVIEW2018發布,帶來了Python支持