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