概述
紅外遙控小車可由紅外遙控器控制其前進(jìn)后退以及轉(zhuǎn)彎等行為,依靠超聲波測(cè)距模塊可實(shí)現(xiàn)避障功能怔揩,還可附帶循跡模塊商膊,實(shí)現(xiàn)小車循跡功能晕拆。
小車由上至下分別是驅(qū)動(dòng)馬達(dá)吝镣、arduino Uno板以及擴(kuò)展版末贾,內(nèi)含L298N驅(qū)動(dòng)凰锡。
馬達(dá)的安裝
小車的左右兩側(cè)需要分別安裝兩個(gè)馬達(dá)裕膀,共四個(gè)馬達(dá)來(lái)驅(qū)動(dòng)四個(gè)車輪昼扛,同側(cè)的馬達(dá)接線方式一致抄谐,以保持同側(cè)車輪運(yùn)行方向一致。
馬達(dá)有兩個(gè)引腳毅厚,一個(gè)接高電平吸耿,一個(gè)接低電平,正接則正向轉(zhuǎn)動(dòng)妆棒。反接糕珊,馬達(dá)則反向轉(zhuǎn)動(dòng)长赞。
向前運(yùn)動(dòng)
完成連接之后栓霜,分別給5號(hào)管腳和10號(hào)管腳設(shè)置高電平,6號(hào)管腳和9號(hào)管腳設(shè)置低電平慧脱,即正接馬達(dá)菱鸥,即可實(shí)現(xiàn)小車向前運(yùn)動(dòng)氮采。
向后運(yùn)動(dòng)
若想實(shí)現(xiàn)小車后退鹊漠,分別給5號(hào)管腳和10號(hào)管腳設(shè)置低電平登钥,6號(hào)管腳和9號(hào)管腳設(shè)置高電平娶靡,即兩側(cè)均反接馬達(dá)结执,即可實(shí)現(xiàn)小車向后運(yùn)動(dòng)。
停止運(yùn)動(dòng)
若給各個(gè)管腳均設(shè)置低電平,則小車停止運(yùn)動(dòng)恃泪。
左右轉(zhuǎn)
左側(cè)向后運(yùn)動(dòng)叽粹,右側(cè)向前運(yùn)動(dòng),則可實(shí)現(xiàn)左轉(zhuǎn)
若兩側(cè)同為正接,只需改變一側(cè)車輪的轉(zhuǎn)動(dòng)速度,也可實(shí)現(xiàn)轉(zhuǎn)彎功能啡氢。
為了實(shí)現(xiàn)馬達(dá)驅(qū)動(dòng)亭枷,需要額外安裝L298N驅(qū)動(dòng)奶栖。即通過(guò)外接電源以為馬達(dá)提供足夠的電力袍镀。在安裝小車的過(guò)程中苇羡,arduino 擴(kuò)展版內(nèi)置L298N驅(qū)動(dòng),所以不用再重復(fù)安裝叉存,若沒(méi)有arduino 擴(kuò)展版則需要自行安裝L298N驅(qū)動(dòng)。
Arduino Uno板紅外接收模塊
用紅外遙控器向紅外接收模塊發(fā)射信號(hào),在串口顯示器中可以看到紅外遙控器的每一個(gè)按鈕所對(duì)應(yīng)的16進(jìn)制代碼练俐。
獲得紅外遙控器按鈕的16進(jìn)制編碼之后浴韭,便可通過(guò)遙控器控制紅外小車的運(yùn)動(dòng)念颈,當(dāng)按按鈕0XFD906F時(shí)榴芳,小車執(zhí)行前進(jìn)代碼讨彼。以此類推哩至。
超聲波測(cè)距模塊
為實(shí)現(xiàn)小車正常的前進(jìn)后退菩貌,需要再給小車外接超聲波測(cè)距模塊箭阶,實(shí)現(xiàn)小車的避障功能。
超聲波測(cè)距是從超聲波發(fā)射裝置發(fā)出超聲波,依據(jù)接收器接到超聲波時(shí)的時(shí)間差來(lái)測(cè)距抓谴,與雷達(dá)測(cè)距原理相似仰泻。
超聲波測(cè)距模塊有一個(gè)輸入端和一個(gè)輸出端。
信號(hào)輸入端接管腳7,信號(hào)輸出端接管腳8命浴,如果超聲波測(cè)距所測(cè)得的距離小于等于15厘米,并且小車在運(yùn)動(dòng)過(guò)程中碍讯,則執(zhí)行stop程序并執(zhí)行play sound程序捉兴。
循跡模塊
循跡模塊包括發(fā)射探頭和接收探頭逗栽,需要連接在Aduino板的模擬口彼宠∑鞠浚可通過(guò)串口顯示器來(lái)觀察其結(jié)果倍踪。當(dāng)探頭接收到的顏色為白色時(shí)建车,串口輸出為0缤至,當(dāng)接受到的顏色為黑色時(shí),串口輸出為1.
小車左右兩側(cè)分別安裝一個(gè)循跡模塊孽锥,若左側(cè)循跡模塊檢測(cè)到高電平隔崎,則左轉(zhuǎn),若右側(cè)循跡模塊檢測(cè)到高電平則右轉(zhuǎn)钓株,若兩側(cè)都未檢測(cè)到高電平則直行轴合。