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