陳新娟 卜捷捷
摘? 要: Arduino包含硬件和軟件兩部分,硬件部分靈活實用,軟件部分基于C語言開發(fā),易于上手且與Proteus仿真軟件相兼容,在教學過程中因為成本低、時效性高,而得到一致認可。利用Arduino Uno開發(fā)板,編譯生成hex文件,再于Proteus軟件平臺添加開發(fā)板Arduino Uno,加載生成的hex文件并編譯完成交通燈功能仿真。Arduino與Proteus的聯調功能仿真,在單片機、傳感器教學以及機電控制等教學中具有參考性和推廣價值。
關鍵詞: Arduino; Proteus; 交通燈; 仿真教學
中圖分類號:TP31? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2020)04-90-02
Development of simulation teaching experiment using Arduino
Chen Xinjuan, Bu Jiejie
(Suzhou College of information Technology, Suzhou, Jiangsu 215200, China)
Abstract: Arduino includes two parts: hardware and software. The hardware part is flexible and practical. The software part is developed with C language. It is easy to use and compatible with Proteus simulation software. In the teaching process, Arduino has been unanimously recognized for its low cost and high timeliness. Using Arduino Uno development board, compile and generate a hex file, and adding Arduino Uno development board in Proteus software platform, load the generated hex file and compile it to complete the traffic light function simulation. The simulation of the joint debugging function of Arduino and Proteus has reference and popularization value in the teaching of single chip microcomputer, sensor and electromechanical control.
Key words: Arduino; Proteus; traffic light; simulation teaching
1 實驗平臺性能分析
Arduino是一款簡單易學且功能豐富的開源平臺,包含硬件部分(各種型號的Arduino開發(fā)板)和軟件部分(Arduino IDE),以及廣大愛好者和專業(yè)人員共同搭建和維護的互聯網社區(qū)和資源。
Arduino硬件部分可以獨立工作,也可以與外部硬件設備協同工作。比如利用Arduino配合各種傳感器來感知環(huán)境,使用Arduino控制電機來驅動機械臂、機器人和無人機,更可以用Arduino來控制多彩的LED。這不僅可以為我們生活帶來便利,還可讓我們用光和彩進行創(chuàng)作[1,5]。
Arduino IDE軟件是Arduino開發(fā)板的程序開發(fā)環(huán)境。只要在IDE中編寫好程序代碼,并且將程序上傳到Arduino后,Arduino就會根據客戶的要求執(zhí)行交給他的任務。Arduino開發(fā)語言是基于C/C++的[2]。
2 實驗平臺開發(fā)
對于電子專業(yè)的學生和電子愛好者,若想在寢室或者家中用Arduino做一些基礎控制實驗,那么用Proteus電路仿真軟件是再好不過的選擇[3]。下面我們用實例來具體介紹在Proteus環(huán)境下Arduino仿真教學實驗的開發(fā)。
2.1 實驗準備
所需實驗設備:電腦一臺,系統為win7 32位/64位(其他系統比如Win8,Win10未經測試)軟件,ArduinoIDE(版本可在太極創(chuàng)客網站下載中文版),Proteus 7.5或以上。理論上講,只要能順利安裝這兩個軟件的windows系統就都可以實驗。
2.2 操作步驟演示
2.2.1 基于ArduinoIDE的軟件編程
下面我們以一例簡易交通燈設計進行仿真實現演示。首先打開Arduino編譯調試軟件ArduinoIDE,在工具里選開發(fā)板“Arduino Uno”。因為在Arduino開發(fā)板家族中,Uno開發(fā)板是最適合初學者的Arduino開發(fā)板。由于它簡單易學、穩(wěn)定可靠,Uno開發(fā)板也是應用最為廣泛且參考資料最多的開發(fā)板。
簡而言之,在選好板子后我們把此次演練的交通燈設計的程序寫在編譯窗口,程序已經預先寫好了。程序開頭部分是定義一些引腳,主程序基本思路是讓紅燈亮兩秒后熄滅,而后閃亮黃燈,每次閃亮200毫秒,閃三次,然后是點亮綠燈兩秒,這樣周而復始地運行,當然,可以根據實際需要更改設計。
調試成功無誤后,一般的做法是接上硬件,上傳程序至Uno開發(fā)板,觀察結果。如果是這樣,那就沒有我們下面的仿真調試了,這里主要借助于電子EDA仿真軟件Proteus來講講Arduino實驗的另一種做法。點擊IDE軟件菜單里“文件”,“首選項”,“設置”,在設置對話框里把顯示詳細輸出“編譯”打鉤。重新再編譯后,在編譯詳細結果窗口我們可以找到英文字符類似xxxxx.hex,如圖1所示,根據英文字符的提示打開此hex文件的完整目錄,記下目錄地址[4]:
2.2.2 基于Proteus的聯調仿真
接下來就是Proteus部分的操作了,Proteus是英國著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。這里我們主要利用它的原理圖布圖和仿真,由于Proteus元件庫里沒有Arduino元件,要仿真Arduino就必須安裝Arduino元件,就像若要仿真電機馬達數碼管就必須有個電機馬達數碼管元件一樣。我們在網上找到Proteus中的Arduino元件壓縮包,將解壓后的文件夾中的兩個文件復制到Protues安裝目錄下的LIBRARY文件夾中。例如:D:\Program Files (x86)\LabcenterElectronics\Proteus 8 Professional\LIBRARY
(具體位置依據安裝選擇確定)。重啟Proteus程序后,放置元件“Arduino”,選擇Uno,就可以直接放上去了,然后放上這個實驗所需要的紅、黃、綠三個LED燈,連上相應的引腳,此次實驗的DSN圖就這樣畫好了,如圖2所示,先不要急著放置,我們試著雙擊這個Uno芯片,發(fā)現彈出對話框。Program File這一項是空的,還記得剛才我們記下的文件目錄嗎?對了,此處要放的正是在ArduinoIDE中生成的hex文件。
現在,我們可以放心的點擊仿真運行按鈕,如果一切無誤,就可以看到仿真結果了。
3 結束語
仿真實驗平臺在成本、安全性、效率方面有得天獨厚的優(yōu)勢,能很好的解決各類院校特別是高職院校實驗室建設經費不足的問題,也不會因操作失誤而造成人身事故。在實際實驗之前利用仿真實驗來預習,有助于學生從實驗整體到局部建立起直觀的感性認識,能有效地克服實驗中常出現的盲目操作及過場的現象,縮短實驗的時間。對于一些難度大、操作步驟多的實驗,在實驗后再做仿真實驗,可以使學生了解每一實驗步驟在實驗中所起的作用,進一步理解實驗原理,消化實驗內容。本文就Arduino仿真實驗的開發(fā)舉了個例,希望能有拋磚引玉的效果。
參考文獻(References):
[1] 饒珺.Arduino創(chuàng)客項目在工程訓練中的應用[J].課程教育研究,2018.44.
[2] 黃永前.STEM的教學模式在中職<傳感器技術應用>課程教學應用研究[J].電子測試,2019.18.
[3] 惠振亮.Arduino在機械類專業(yè)教學中的應用探索[J].甘肅科技,2019.2.
[4] 王希娟,李娟娟.基于Arduino單片機的交通燈倒計時顯示器設計[J].計算機光盤軟件與應用,2014.22.
[5] 陳為通.基于Arduino開發(fā)系統的智能家居系統設計[J].中國新通信,2016.6.