莫慧芳 段智敏
摘 要 本文結(jié)合微課程設(shè)計的特點(diǎn),構(gòu)建“學(xué)做創(chuàng)”為導(dǎo)向的創(chuàng)客微課程設(shè)計模式,通過制作智能避障小車,將過程應(yīng)用于微課程項(xiàng)目設(shè)計。本設(shè)計以Arduino單片機(jī)為主控芯片,配合直流電動機(jī)、光電傳感器等器件,通過相應(yīng)的軟件代碼實(shí)現(xiàn)控制小車的前進(jìn)、轉(zhuǎn)彎、避障、自動轉(zhuǎn)向等動作。將智能小車設(shè)計過程制作成微視頻演示,設(shè)計任務(wù)目標(biāo)、學(xué)習(xí)內(nèi)容,可用于創(chuàng)客教育相關(guān)課程建設(shè)。
關(guān)鍵詞 微課程 創(chuàng)客 避障小車
中圖分類號:G434文獻(xiàn)標(biāo)識碼:A
0引言
智能小車,即輪式機(jī)器人,是移動機(jī)器人的一種。基于Arduino開發(fā)單板設(shè)計智能避障小車,電源模塊為單片機(jī)及其他電路提供工作電壓,直流12V主要為電機(jī)提供驅(qū)動電壓。超聲波避障模塊,通過單片機(jī)控制超聲波模塊去小車行駛道路上的障礙物進(jìn)行檢測,然后單片機(jī)通過處理反饋的信息,判斷障礙物的距離,進(jìn)而發(fā)出指令控制模塊,控制小車實(shí)現(xiàn)轉(zhuǎn)向,達(dá)到避障的目的。
將智能小車設(shè)計過程制作成微視頻演示,設(shè)計任務(wù)目標(biāo)、學(xué)習(xí)內(nèi)容,可以用于創(chuàng)客教育相關(guān)課程建設(shè)。
1任務(wù)目標(biāo)設(shè)計
以Arduino單片機(jī)為核心,制作一款避障小車,小車從無障礙地區(qū)啟動前進(jìn),感應(yīng)前進(jìn)路線上的障礙物后,根據(jù)障礙物的位置選擇下一步行進(jìn)方向。當(dāng)小車轉(zhuǎn)過90度后,對前方道路再次檢測。若無障礙,向前行駛。如果存在障礙物且小于15cm,小車右轉(zhuǎn)180度,并再次檢測前方路況,若無障礙物,向前行駛,有障礙物且距離小于15cm,小車向右轉(zhuǎn)90度并向前行駛。
2任務(wù)學(xué)習(xí)內(nèi)容設(shè)計
本系統(tǒng)由硬件和軟件兩部分組成。硬件部分由電機(jī)驅(qū)動模塊、單片機(jī)控制模塊、電源模塊、舵機(jī)模塊、超聲波模塊和避障模塊部分組成,完成障礙物檢測和直流電機(jī)的驅(qū)動等功能;軟件部分主要信號檢測和處理、直流電機(jī)的控制等功能。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
2.1 硬件電路設(shè)計
本小車的硬件部分分為幾個模塊:超聲波傳感器、Arduino單片機(jī)、電源、兩個直流電動機(jī)、電機(jī)驅(qū)動板、車身和遙控模塊等。電源連接在Arduino單片機(jī)上給整個小車供電,將超聲波傳感器安置在車身的最前端,用于探測前方是否有障礙物。當(dāng)超聲波傳感器遇到障礙物,將反饋提供到單片機(jī)里從而做出旋轉(zhuǎn)的反應(yīng);再次檢測前方是否有障礙物,若有障礙物則繼續(xù)旋轉(zhuǎn),沒有障礙物則電機(jī)驅(qū)動器驅(qū)動電機(jī)前進(jìn),從而實(shí)現(xiàn)整個小車的避障功能。
2.1.1單片機(jī)控制模塊
中控芯片選擇Arduino單片機(jī),控制信號由單片機(jī)對應(yīng)接收通道進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓。Arduino是一款便捷靈活十分方便上手的開源電子原型平臺,能通過各種傳感器來感知環(huán)境,通過燈光、電機(jī)和其他裝置來反饋、影響環(huán)境。
2.1.2舵機(jī)模塊
舵機(jī)是小車轉(zhuǎn)向的執(zhí)行機(jī)構(gòu),在硬件連接上共有三根線,分別為電源線、地線及控制輸入項(xiàng)。小車采用輝盛9g舵機(jī),控制信號由接收機(jī)的通道進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn)。
舵機(jī)信號接口輸入圖程序,舵機(jī)開始從0度旋轉(zhuǎn)到180度,在從180度旋轉(zhuǎn)到0度,最后初始化舵機(jī)角度為90度,再安裝超聲波模塊,確保舵機(jī)在90度的時候,超聲波模塊在小車正前方,超聲波模塊每次程序執(zhí)行完都要回到90度的位置。
2.1.3 超聲波模塊
超聲波傳感器是利用超聲波的特性研制而成的傳感器,它是通過傳送一個超聲波(遠(yuǎn)高于人的聽覺范圍)和提供一個對應(yīng)于爆裂回聲返回到傳感器所需時間的輸出脈沖來工作的。測距程序基本工作原理:
(1)采用IO口TRIG觸發(fā)測距,給至少10us的高電平信號;
(2)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回;
(3)有信號返回,通過IO口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。
測試距離=(高電平時間*聲速(340M/S))/2,打開串口監(jiān)視器,可以看到超聲波模塊的測距結(jié)果。
3軟件設(shè)計
本系統(tǒng)的軟件用C語言編寫,分為主程序、外部中斷解碼子程序、自動駕駛子程序、障礙物檢測子程序、定時器中斷調(diào)速子程序等,主要完成系統(tǒng)硬件的初始化、子程序調(diào)用等功能。圖2是測距部分程序,圖3是實(shí)物圖。
參考文獻(xiàn)
[1] 趙津.基于Arduino單片機(jī)的智能避障小車設(shè)計[J].自動化與儀表,2013(05):1-4.
[2] 王艷.基于51單片機(jī)的紅外遙控小車設(shè)計和制作[J].機(jī)電信息,2010(04):4-5.
[3] 吳迪.基于Arduino 的智能循跡小車研究[J].課程教育研究,2019(04):235-236.
[4] 馮曉偉.多路舵機(jī)控制PWM發(fā)生器的設(shè)計與Proteus仿真[J].現(xiàn)代電子技術(shù),2011(11):167-169.