馬光軍
摘 要 基于Arduino(Atmega328)微處理控制器構(gòu)建的智能小車平臺(tái),通過(guò)紅外循跡傳感器實(shí)現(xiàn)自動(dòng)循跡功能。本文介紹了具體的循跡實(shí)施過(guò)程,并將其作為一個(gè)教學(xué)案例,豐富高職單片機(jī)的實(shí)訓(xùn)教學(xué)。
關(guān)鍵詞 Arduino uno R3 紅外循跡 圖形化編程 教學(xué)過(guò)程
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A
大多數(shù)高等職業(yè)院校工科相關(guān)專業(yè)都開設(shè)了單片機(jī)課程,利用單片機(jī)體積小、成本低、易控制的優(yōu)點(diǎn),培養(yǎng)學(xué)生的軟硬件結(jié)合開發(fā)的技能。但筆者在實(shí)訓(xùn)教學(xué)過(guò)程中發(fā)現(xiàn)學(xué)生只能按照實(shí)驗(yàn)要求進(jìn)行簡(jiǎn)單的接線,然后將代碼輸入,進(jìn)行實(shí)驗(yàn)的驗(yàn)證,幾乎沒(méi)有自由創(chuàng)新和開發(fā)的空間,深切體會(huì)到單一的教學(xué)內(nèi)容和落后的教學(xué)形式對(duì)培養(yǎng)學(xué)生的創(chuàng)新能力非常不利,只有改變常規(guī)教學(xué)方法才能提高教學(xué)質(zhì)量。為此,筆者針對(duì)單片機(jī)實(shí)訓(xùn)教學(xué),設(shè)計(jì)了一系列工程應(yīng)用性強(qiáng)的訓(xùn)練項(xiàng)目,以此拓展學(xué)生實(shí)踐能力,激發(fā)學(xué)生的學(xué)習(xí)興趣和創(chuàng)新精神?;趫D形化編程的智能小車循跡控制教學(xué)案例便是其中一項(xiàng)。
1案例內(nèi)容
基于圖形化編程的智能小車循跡控制教學(xué)案例涉及了較廣的知識(shí)面,整個(gè)項(xiàng)目?jī)?nèi)容新穎,形式靈活,作為高職院校單片機(jī)項(xiàng)目教學(xué)的實(shí)訓(xùn)內(nèi)容是很好的選擇。具體內(nèi)容包括:硬件電路部分包括Arduino單片機(jī)最小系統(tǒng),L293D電機(jī)驅(qū)動(dòng)芯片,5V電源穩(wěn)壓芯片,紅循跡模塊等。軟件部分包括單片機(jī)控制直流電機(jī)運(yùn)行、圖形化編程軟件環(huán)境mixly使用、小車循跡程序編寫等。
(1)Arduino單片機(jī)最小系統(tǒng):Arduino是一個(gè)基于開放源碼的軟硬件平臺(tái),它基于單片機(jī)系統(tǒng)開發(fā),使用類C語(yǔ)言的編程語(yǔ)言進(jìn)行程序編寫。Arduino能通過(guò)各種傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他裝置來(lái)反饋影響環(huán)境。同其他系統(tǒng)相比,Arduino提供了一套容易使用的工具包,簡(jiǎn)化了單片機(jī)工作流程,開發(fā)者不需要關(guān)心單片機(jī)編程繁瑣的細(xì)節(jié),因此同其他系統(tǒng)相比在很多地方更具有優(yōu)越性。
(2)L298N是德州儀器生產(chǎn)的一款電機(jī)控制器件,該器件具有4個(gè)大電流半H驅(qū)動(dòng)結(jié)構(gòu),這種結(jié)構(gòu)可以在4.5v-36v電壓下提供高達(dá)600mA的電流,可以驅(qū)動(dòng)繼電器、直流或雙極性步進(jìn)電機(jī)等。其輸入端可以直接與單片機(jī)相連,通過(guò)改變邏輯電平,從而很方便的控制小車的前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn)及調(diào)速。具體控制情況如表1所示:
(3)紅外循跡模塊:該模塊可通過(guò)杜邦線直接連接到小車底板,相當(dāng)于一個(gè)紅外檢測(cè)開關(guān),檢測(cè)到白色地面時(shí)輸出低電平,否則輸出高電平。探測(cè)距離大概為2~10厘米,工作電壓3~5v,工作電流20-40mA左右。
(4)Mixly: Mixly可以看作是介于普通用戶與Arduino IDE之間橋梁,通過(guò)這個(gè)橋梁,即使用戶不懂C語(yǔ)言的語(yǔ)法,也可以利用圖形化程序編寫Arduino程序。Mixly的基本原理是將圖形化程序轉(zhuǎn)化成C語(yǔ)言,再利用Arduino IDE上傳到硬件中。
(5)循跡原理:黑線(白底,黑色循跡線)會(huì)根據(jù)小車的運(yùn)行情況,被某一探頭所檢測(cè)到,則2個(gè)探頭分為2種情況對(duì)小車進(jìn)行轉(zhuǎn)向控制;若沒(méi)有被任何一個(gè)探頭檢測(cè)到,則繼續(xù)直行;若黑色賽道被探頭1檢測(cè)到。則意味著小車已經(jīng)偏移到賽道右側(cè),應(yīng)該左轉(zhuǎn)。若黑色賽道被探頭2檢測(cè)到。則意味著小車已經(jīng)偏移到賽道左側(cè),應(yīng)該右轉(zhuǎn)。
(6)循跡流程:
2案例實(shí)施
案例教學(xué)過(guò)程包括如下幾個(gè)方面:
(1)數(shù)據(jù)線連接智能小車和電腦USB接口。
(2)基于圖形化編程軟件環(huán)境mixly編寫循跡程序如圖2所示:
(3)編譯程序。
(4)上傳可執(zhí)行文件到智能小車中。小車根據(jù)程序邏輯沿黑色循跡線前進(jìn)。
3結(jié)語(yǔ)
通過(guò)該案例的教學(xué),提高了學(xué)生的學(xué)習(xí)興趣,鍛煉了學(xué)生的動(dòng)手能力,培養(yǎng)了學(xué)生的自主學(xué)習(xí)習(xí)慣。另外,在今后的教學(xué)中,該案例還可以對(duì)小車增加多種傳感器,如溫度測(cè)量模塊、避障模塊等,從而豐富教學(xué)內(nèi)容。
參考文獻(xiàn)
[1] 朱濤.基于STC89C52單片機(jī)的智能循跡小車設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2011,8(31).
[2] 顧群,蒲雙雷.基于單片機(jī)的智能小車避障循跡系統(tǒng)設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2012,9(05).
[3] 單以才,李奇林,秦劍華,陳丹.基于紅外傳感器的自主循跡小車控制算法設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)床與液壓,2010,38(14).