python获取arduino数据可视化_Arduino数据可视化在实验教学中的应用
饒珺
[摘? ? ? ? ? ?要]? 為培養學生學科交叉創新與科技融合的能力,上海大學工程訓練國家級實驗教學示范中心不斷提升實驗教學水平,并組織學科競賽,倡導學生通過自主設計和制作完成項目作品。Arduino控制板因其操作簡單、功能豐富等優點,被廣泛應用于高校課題項目開發。在項目開發實施過程中,為更清晰直觀地觀察數據變化,可通過Arduino自帶串口繪圖器直接顯示。提出在Arduino實驗教學中引入數據可視化的實驗設計,由此強化學生對Arduino控制板的運用,提升學生的項目開發能力。
[關? ? 鍵? ?詞]? 工程訓練;實驗教學;Arduino;串口通信;示波器
[中圖分類號]? G642? ? ? ? ? ? ? ? ? ?[文獻標志碼]? A? ? ? ? ? ? ? ? ? ? ? [文章編號]? 2096-0603(2018)35-0201-01
一、Arduino項目引入工程訓練中心的意義
上海大學工程訓練國家級實驗教學示范中心(后文簡稱“工程訓練中心”)是“學研產”一體化的綜合性人才培養基地,它不再是傳統意義上的金工、電工基礎技能培訓中心,而是以“傳統+現代”“基本+先進”、綜合性為重心的工程能力培養中心。為貫徹“拆除四堵墻”的教學理念[1],工程訓練中心增加了多項學科競賽及實驗課程。基于工程訓練中心豐富的資源優勢,越來越多課程設計在此完成。課題項目的開發工具種類較多,Arduino因其價格低廉、操作簡單等特點,被廣泛應用于高校課題項目中。且Arduino堅持開源理念,有利于學生對源代碼進行二次開發。在實驗教學中,增加Arduino學習十分有必要。
課題的開發工具種類較多,如Eddison、Raspberry、Arduino等,其中Arduino有價格低廉、操作簡單、拓展性強等優點,高校中許多課題項目選擇采用Arduino控制板。Arduino平臺堅持開源理念,有利于學生對源代碼進行二次開發。在工程訓練中心實驗教學中,增加Arduino學習十分有必要。
二、Arduino串口繪圖器及實驗設計
Arduino與計算機通信最常用的方式是串口通信,使用USB線將Arduino與計算機連接,即可建立串口通信、互傳數據。在項目開發過程中,常通過串口監視器對數據流進行顯示、分析、測試。串口監控器是一個非常實用的工具,當數據量較龐大,圖形化的界面能顯示數據變化趨勢并有效提高調試效率。Arduino IDE自帶的串口繪圖器功能可直觀地對數據進行線性顯示。
以繪圖器顯示正弦波、余弦波為例,代碼如下:
double i = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
double temp = i*3.1415926/10.0;
Serial.print(sin(temp));
Serial.print(',');
Serial.println(cos(temp));
i+=0.1;
delay(5);
}
參照以上代碼,要實現串口與計算機通信,首先需使用Serial.begin()函數對Arduino的串口通信功能進行初始化,即設定串口通信速率,串口通信的雙方須使用相同的波特率才能正常進行通信。常用的波特率為9600 bit/s,表示每秒傳送的二進制數據為9600位(bit)。
串口初始化完成后,通過串口輸出函數[2]向計算機發送數據,使用Arduino自帶的串口繪圖器即可實現數據可視化。如果要實現多組數據的顯示,則需使用‘,隔開,并在最后一組數據使用Serial.println()函數換行。
基于Arduino的項目開發過程中,如需研究外部輸入電現象的變化過程時,可通過增加外部電路和顯示模塊制成數字示波器[3],通過模數轉換器(Analog-to-Digital Converter)把被測電壓轉換為數字信息。由于儀器資源有限、不便攜帶,在課題項目中成品示波器難以普及使用,因此可在實驗教學中提出結合Arduino內部自帶的模數轉換器,連接顯示屏,制作數字示波器的設計要求。模擬信號輸入后先將連續信號數字化,即離散化采樣,采樣獲得的數據以數組形式存入單片機存儲器內,Arduino通過SPI總線與顯示屏通信,將處理后的數據輸出給液晶屏完成一幀波形的顯示,再重復以上過程。
三、結束語
基于Arduino的課題項目不僅能提高學生的創新思維,也有利于交叉學科的學習。在實驗教學中增加可視化數據的學習,能將數據以曲線形式直觀顯示,大大提高項目調試效率。此外,還提出在實驗教學中增加制作簡易示波器的進階實驗,加深學生對Arduino的應用。
參考文獻:
[1]李旭.教育要“拆四堵墻”[J].教育與職業,2010(28):105.
[2]吳漢清.玩轉Arduino電子制作[M].北京:機械工業出版社,2016:77-78.
[3]張群群.基于Android的數字示波器操作界面及手勢設計[D].黑龍江:哈爾濱工業大學,2013:3-6.
總結
以上是生活随笔為你收集整理的python获取arduino数据可视化_Arduino数据可视化在实验教学中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 传智播客创始人张孝祥因病去世(转)
- 下一篇: 在线靶场-墨者-网络安全2星-某防火墙默