常 安,萬(wàn)振凱
(天津工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 信息化中心,天津 300387)
人工智能時(shí)代的來(lái)臨,使得大部分儀器設(shè)備走向自動(dòng)化以及智能化,智能設(shè)備在生活中已隨處可見(jiàn),并且已經(jīng)被越來(lái)越廣泛地應(yīng)用到生活生產(chǎn)中。隨著科技水平的提高,越來(lái)越多的傳感器被應(yīng)用到智能設(shè)備上,使設(shè)備可以像人一樣去感知周圍環(huán)境。單個(gè)傳感器的功能往往會(huì)有很大的局限性,只具備單一的感應(yīng)功能,不能夠滿足智能設(shè)備多功能的需求。因此,為滿足更多需求,需要在設(shè)備上安裝更多的傳感器。該設(shè)計(jì)基于HC-SR04、溫濕度、光照強(qiáng)度等傳感器,并用樹(shù)莓派作為控制設(shè)備,形成了具有多種功能的自感應(yīng)系統(tǒng)。
搭載該系統(tǒng)的智能小車可以很好地感知周圍環(huán)境,并根據(jù)環(huán)境特點(diǎn)作出相應(yīng)的行為。例如,當(dāng)光線暗時(shí),光照強(qiáng)度傳感器會(huì)將信息傳遞給控制設(shè)備并結(jié)合算法控制繼電器的開(kāi)、閉,完成對(duì)燈光的控制。利用傳感器和L298N 的配合并根據(jù)土壤溫濕度判斷該地區(qū)是否可以進(jìn)入,躲避地區(qū)障礙物,實(shí)現(xiàn)自感應(yīng)功能。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System structure diagram
在實(shí)際工作中,有時(shí)需要進(jìn)入一些危險(xiǎn)或人力不容易達(dá)到的地方進(jìn)行作業(yè),這時(shí)為了更好地完成工作需要智能小車的幫助[1]。在可見(jiàn)范圍內(nèi),小車可以通過(guò)操作人員控制,但當(dāng)超出這個(gè)范圍時(shí),智能小車[2]的自感應(yīng)功能就顯得非常重要了。
系統(tǒng)主要由以下幾個(gè)部分組成,分別是數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)驅(qū)動(dòng)模塊。
數(shù)據(jù)采集模塊主要負(fù)責(zé)周圍環(huán)境的感知,通過(guò)傳感器獲取需要的數(shù)據(jù)信息。隨后將這些信息傳遞給數(shù)據(jù)處理模塊(MCU),再根據(jù)系統(tǒng)算法數(shù)據(jù)驅(qū)動(dòng)模塊給出行為上的反饋。系統(tǒng)結(jié)構(gòu)圖如圖1 所示。
樹(shù)莓派是一種微型電腦,起初是為了學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì)的[3]?,F(xiàn)在它除了具備編程教育功能以外,還為許多物聯(lián)網(wǎng)開(kāi)發(fā)愛(ài)好者提供了一種選擇,使他們不僅僅局限在單片機(jī)上。相對(duì)于單片機(jī)而言,樹(shù)莓派更像一臺(tái)微型計(jì)算機(jī),可以完成一定的計(jì)算任務(wù)。同時(shí)它還具有更多的GPIO 接口,方便更多功能的擴(kuò)展以及多種傳感器之間的互聯(lián)。
選用樹(shù)莓派作為自感應(yīng)系統(tǒng)的控制設(shè)備,有以下幾點(diǎn)原因:第一點(diǎn)是它的小巧輕便,可以很好地安裝在智能設(shè)備上;第二點(diǎn)是它有40 個(gè)GPIO 接口,可以連接多個(gè)傳感器,方便系統(tǒng)后續(xù)功能的擴(kuò)展;第三點(diǎn)是它具有獨(dú)立的處理器以及操作系統(tǒng),可以快速地處理來(lái)自各種傳感器反饋的數(shù)據(jù),并調(diào)用相關(guān)模塊使驅(qū)動(dòng)模塊作出反應(yīng)。
圖2 L298N實(shí)物圖Fig.2 L298N Physical map
圖3 HC-SR04實(shí)物圖Fig.3 HC-SR04 Physical map
L298N 是專用驅(qū)動(dòng)集成電路[4],屬于H 橋集成電路。其輸出電流為2A,最高電流4A,最高工作電壓50V,可以驅(qū)動(dòng)感性負(fù)載,像大功率直流電機(jī)、步進(jìn)電機(jī)等,特別是其輸入端可以與單片機(jī)直接相聯(lián),可以很好地被MCU 控制。當(dāng)驅(qū)動(dòng)直流電機(jī)時(shí),可以直接控制步進(jìn)電機(jī),并根據(jù)輸入端的高低電平實(shí)現(xiàn)正反向的旋轉(zhuǎn)。
采用L298 芯片為核心,加上簡(jiǎn)單的外圍電路就可以驅(qū)動(dòng)兩路直流電機(jī),L298 驅(qū)動(dòng)優(yōu)點(diǎn):每一組PWM 波用來(lái)控制一個(gè)電機(jī)的速度,另外2 個(gè)I/O 口控制電機(jī)的轉(zhuǎn)動(dòng)方向,減少了硬件設(shè)計(jì)與軟件編程的工作量[5]。實(shí)物圖如圖2 所示。
HC-SR04 傳感器是將超聲波信號(hào)轉(zhuǎn)換成其他能量信號(hào)(通常是電信號(hào))的傳感器。超聲波對(duì)物體有很強(qiáng)的穿透性,這一特點(diǎn)在不透明固體中表現(xiàn)突出。
圖4 光照強(qiáng)度傳感器Fig.4 Light intensity sensor
HC-SR04 傳感器[6]可以廣泛應(yīng)用在物位(液位)監(jiān)測(cè)、機(jī)器人防撞,以及防盜報(bào)警等相關(guān)領(lǐng)域。工作可靠,安裝方便,發(fā)射夾角較小,靈敏度高,方便與工業(yè)顯示儀表連接。實(shí)物圖如圖3 所示。
該系統(tǒng)使用的光照強(qiáng)度傳感器是GY-30。GY-30 是一款數(shù)字光強(qiáng)度檢測(cè)模塊,對(duì)弱光也有較高靈敏度的傳感器。輸入電壓為3V ~5V,可檢測(cè)的光照度范圍是:0 ~65535 lx,內(nèi)置16bitAD 轉(zhuǎn)換器。具有不區(qū)分光源,接近于視覺(jué)靈敏度的分光特性,可對(duì)廣泛的亮度進(jìn)行1lx 的高精度測(cè)量。如圖4 是GY-30 實(shí)物圖。
為了更好地測(cè)試土壤濕度,該設(shè)計(jì)選用的是FC-28 型號(hào)的檢測(cè)器。該傳感器利用電磁脈沖原理,依靠電磁波在介質(zhì)中的傳播率來(lái)檢測(cè)土壤的表觀介電常數(shù)(ε),從而得到土壤的濕度(θv)。利用電位器芯片可以調(diào)節(jié)測(cè)定的閾值,順時(shí)針調(diào)節(jié)控制濕度會(huì)變大,逆時(shí)針調(diào)節(jié)控制濕度會(huì)變小[7]。傳感器與電位器連接圖如圖5 所示。
GPIO 是Python 提供的一個(gè)接口庫(kù),可以通過(guò)代碼調(diào)用樹(shù)莓派上的GPIO 接口(使用pip install RPi.GPIO 命令來(lái)安裝GPIO 模塊)。樹(shù)莓派的GPIO 接口由40 個(gè)針腳(PIN)組成,每個(gè)針腳都可以用導(dǎo)線和外部設(shè)備相連。
在40 個(gè)PIN 接口中,有 固 定 輸 出 的5V(2、4 號(hào)PIN)、3.3V(1、17 號(hào) PIN)和地線(Ground,6、9、14、20、25、30、34、39)。如果一個(gè)電路兩端接在5V 和地線之間,該電路就會(huì)獲得5V 的電壓輸入。27、28 號(hào)PIN標(biāo)著ID_SD 和ID_SC,它們是兩個(gè)特殊的PIN,屬于ID EEPROM(Electrically Erasable Programmable Read-Only Memory)接口,用于和拓展開(kāi)發(fā)系統(tǒng)功能的附加電路板通信。每個(gè)PIN 都有對(duì)應(yīng)的編號(hào),如GPIO14。開(kāi)發(fā)系統(tǒng)的操作系統(tǒng)中,會(huì)用GPIO 的編號(hào)14 來(lái)指代這個(gè)PIN,而不是位置編號(hào)的8。有一些PIN 除了GPIO 功能外,還提供了高級(jí)端口功能。比如說(shuō),GPIO14 和GPIO15 就同時(shí)可以充當(dāng)UART 端口。GPIO 編號(hào)方式如圖6 所示。
圖5 傳感器與電位器連接圖Fig.5 Sensor and potentiometer connection diagram
圖6 GPIO編號(hào)方式Fig.6 GPIO Numbering method
將上述硬件組裝,得到小車實(shí)物圖如圖7 所示。
圖7 小車實(shí)物圖Fig.7 Cart physical map
圖8 主程序流程圖Fig.8 Main program flow chart
圖9 L298N驅(qū)動(dòng)流程Fig.9 L298N Drive process
軟件設(shè)計(jì)由以下幾個(gè)模塊構(gòu)成:初始化程序、驅(qū)動(dòng)程序(包括小車的運(yùn)動(dòng)、燈光的開(kāi)閉)、數(shù)據(jù)收集程序、控制程序。
初始化程序主要開(kāi)啟需要用到的GPIO 口,使它們進(jìn)入準(zhǔn)備狀態(tài);數(shù)據(jù)收集程序主要是利用傳感器對(duì)環(huán)境的實(shí)時(shí)監(jiān)測(cè)并獲取數(shù)據(jù);驅(qū)動(dòng)程序主要是根據(jù)數(shù)據(jù)收集程序的數(shù)據(jù)并結(jié)合控制程序的算法來(lái)改變GPIO 口的高低電平,并調(diào)用L298N 驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)[4]以及繼電器控制燈光的開(kāi)閉。主程序流程圖如圖8 所示。
驅(qū)動(dòng)程序和收集程序的執(zhí)行分為兩個(gè)部分:第一部分是土壤濕度傳感器和HC-SR04 傳感器的數(shù)據(jù)收集。首先由土壤濕度傳感器測(cè)量判斷運(yùn)動(dòng)區(qū)域的濕度是否可以進(jìn)入,然后由HC-SR04 實(shí)時(shí)測(cè)量小車周圍障礙物的距離,此過(guò)程最終調(diào)用L298N 模塊來(lái)驅(qū)動(dòng)步進(jìn)電機(jī)的運(yùn)轉(zhuǎn);第二部分是光照強(qiáng)度傳感器感受環(huán)境光照經(jīng)過(guò)控制程序判斷是否小于設(shè)定值,以此來(lái)改變繼電器的開(kāi)閉,已達(dá)到控制LED 燈的效果,使得該設(shè)計(jì)在暗處也可以正常使用。L298N 驅(qū)動(dòng)流程如圖9 所示,繼電器驅(qū)動(dòng)流程如圖10 所示。
圖10 繼電器驅(qū)動(dòng)流程Fig.10 Relay drive process
基于嵌入式設(shè)計(jì)了一款自感應(yīng)系統(tǒng),多個(gè)傳感器共同完成對(duì)系統(tǒng)運(yùn)行環(huán)境的感知,交由樹(shù)莓派對(duì)數(shù)據(jù)進(jìn)行處理,經(jīng)過(guò)軟件程序的驅(qū)動(dòng)并改變L298N 驅(qū)動(dòng)板和繼電器的高低電平使小車實(shí)現(xiàn)自動(dòng)運(yùn)動(dòng)的功能,以及搭配傳感器實(shí)現(xiàn)避障功能和光照功能。在實(shí)際測(cè)試中該系統(tǒng)可以很好地完成預(yù)定功能的運(yùn)行,達(dá)到實(shí)驗(yàn)要求。
多種傳感器搭配使得系統(tǒng)具有跟多的功能,解決了單一傳感器的局限性,結(jié)合樹(shù)莓派較高的可拓展功能以及可編程特性,使得該系統(tǒng)可以很好地使用。
現(xiàn)如今人工智能技術(shù)飛速發(fā)展,研究和開(kāi)發(fā)這款自動(dòng)避障小車系統(tǒng)有很重要的意義。整個(gè)系統(tǒng)構(gòu)成簡(jiǎn)單,硬件技術(shù)成熟穩(wěn)定,結(jié)合樹(shù)莓派的高擴(kuò)展性,還可添加多種傳感器實(shí)現(xiàn)更多功能,具有很強(qiáng)的實(shí)用性。在后期的改進(jìn)中,還可加入攝像頭模塊實(shí)現(xiàn)更多的功能。