国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Visual Basic的串口通訊和Arduino的智能小車控制系統(tǒng)設(shè)計(jì)

2016-01-19 09:47王飛楊娟娟
科技與創(chuàng)新 2016年1期
關(guān)鍵詞:智能小車

王飛 楊娟娟

摘 要:針對(duì)智能小車中存在的問題提出相關(guān)改進(jìn)措施,并介紹了一種新的控制系統(tǒng)。該系統(tǒng)是將Arduino作為主控單元,利用Visual Basic開發(fā)的上位機(jī)軟件進(jìn)行控制,從而進(jìn)一步提高了智能小車人機(jī)交互的功能性。

關(guān)鍵詞:Visual Basic;智能小車;Arduino;上位機(jī)軟件

中圖分類號(hào):TP23 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2016.01.073

智能化是當(dāng)今世界發(fā)展的方向之一,有大批科研人員投身這項(xiàng)工作中。智能化的主控核心在于其控制系統(tǒng),它的水平?jīng)Q定了智能化的水平。此次設(shè)計(jì)的智能小車使用兩后輪驅(qū)動(dòng),前輪安裝一個(gè)導(dǎo)向輪,同時(shí),還為小車安裝了超聲波測(cè)距傳感器。此傳感器可以讓小車在行進(jìn)的過程中成功避開障礙物,并按指令行駛,這是智能小車的關(guān)鍵部分。它雖然是智能的,但可控性比較差,并不能完全按照人的想法動(dòng)作。至此,引入上位機(jī)軟件直接控制智能小車具有操作性強(qiáng)、易于控制的特點(diǎn)。

1 Visual Basic串口通訊簡(jiǎn)介

利用VB實(shí)現(xiàn)串口通信的方法有2種,一種是利用其自身集成的MSComm通訊控件實(shí)現(xiàn)與外接設(shè)備的通信,另一種是利用通信API函數(shù)實(shí)現(xiàn)串口通信。

MSComm通訊控件通過串行端口傳輸和接收數(shù)據(jù),并為應(yīng)用程序提供串行通信功能。PC機(jī)通過此控件利用串行口與其他設(shè)備連接,從而實(shí)現(xiàn)兩設(shè)備的數(shù)據(jù)通信。

MSComm通訊控件的主要屬性和方法:

Setting:設(shè)置并返回通訊參數(shù)。

PortOpen:通過設(shè)置其值打開或關(guān)閉串口。

Input:返回并刪除接收緩沖區(qū)的數(shù)據(jù)流。

Output:向傳輸緩沖區(qū)寫數(shù)據(jù)流。

根據(jù)程序的功能及其用途,在使用過程中,用OnComm事件和CommEvent屬性監(jiān)視并檢測(cè)通信事件和錯(cuò)誤值。

ComEvSend:發(fā)送緩沖區(qū)的字符數(shù)比Sthreshold。

ComEventRxParity:其值為1 009,奇偶位校驗(yàn)。

ComEvEOF:其值為7,接收文件中出現(xiàn)的結(jié)束符。

2 系統(tǒng)設(shè)計(jì)

2.1 上位機(jī)

該系統(tǒng)使用的上位機(jī)采用Visual Basic編程(圖形化編程),易于理解。上位機(jī)主要用于設(shè)置該控制系統(tǒng)開關(guān)的初始狀態(tài),同時(shí),給出Arduino主控單元的控制信號(hào)。在控制小車的行進(jìn)過程中,小車上集成的傳感器將信號(hào)傳送給上位機(jī),上位機(jī)實(shí)時(shí)監(jiān)控小車的運(yùn)行速度、方向。

2.2 Arduino模塊

在該設(shè)計(jì)中,將Arduino Uno作為車載核心控制單元。Arduino作為一款便捷、靈活、方便開發(fā)的開源平臺(tái),通過外接各種傳感器感知環(huán)境,通過電機(jī)、燈光和其他裝置作出反饋。Arduino Uno主要包括1個(gè)9 V DC輸入、1個(gè)USB接口、14個(gè)數(shù)字IO口、6個(gè)模擬IO口、1個(gè)5 V DV輸出和1個(gè)3.3 V DC輸出。其核心是1片ATmega328芯片。

2.3 電機(jī)模塊

小車采用雙直流電機(jī)驅(qū)動(dòng)模式,2臺(tái)電機(jī)分別安裝在小車后側(cè),前輪采用導(dǎo)向輪導(dǎo)向。2臺(tái)直流電機(jī)利用直流電機(jī)驅(qū)動(dòng)芯片LN298驅(qū)動(dòng)。因?yàn)長(zhǎng)N298無(wú)法控制電機(jī)轉(zhuǎn)速,所以,可以通過調(diào)節(jié)驅(qū)動(dòng)電機(jī)的PWM信號(hào)脈寬改變電機(jī)輸出功率,從而控制電機(jī)轉(zhuǎn)速。

2.4 超聲波測(cè)距模塊

該超聲波測(cè)距模塊的有效距離為2~30 cm,工作電壓為3.3~5 V,是由發(fā)射電路和接收電路組成的。在探測(cè)距離時(shí),當(dāng)經(jīng)由發(fā)射電路發(fā)射管發(fā)出的管線遇到障礙物時(shí),反射回來的光線會(huì)經(jīng)過電路處理后輸出1個(gè)數(shù)字信號(hào)給主控單元。此外,此模塊還具有易于調(diào)節(jié)和控制、使用方便的特性。

3 算法分析

3.1 系統(tǒng)流程分析

在智能小車行進(jìn)的過程中,它四周安裝的4個(gè)傳感器可實(shí)時(shí)檢測(cè)小車周圍是否有障礙物。當(dāng)信號(hào)經(jīng)過電路處理后,通過Arduino控制單元轉(zhuǎn)換,不斷地將數(shù)據(jù)傳送給電腦終端,在上位機(jī)上顯示與障礙物的距離,并利用上位機(jī)發(fā)送控制信號(hào),從而實(shí)現(xiàn)對(duì)小車行進(jìn)的控制。系統(tǒng)流程如圖1所示。

3.2 避障代碼

根據(jù)避障原理編寫程序,實(shí)現(xiàn)小車的避障功能。該程序主要分為電機(jī)、超聲波測(cè)距2部分。電機(jī)部分由analogWrite()、digitalWrite()分別控制車速和小車行進(jìn)的方向;超聲波測(cè)距部分由Trig-Pin控制超聲波輸出,控制模塊通過處理接收到的脈沖時(shí)間,將其轉(zhuǎn)化為距離參數(shù),從而求得小車與障礙物的實(shí)際距離。

4 試驗(yàn)測(cè)試

智能小車制作完成后,要測(cè)試小車的避障功能。試驗(yàn)時(shí),選用一塊有多種障礙的平板,讓智能小車在行進(jìn)過程中判斷周圍是否有障礙物,然后將其與障礙物的距離實(shí)時(shí)傳送到上位機(jī),通過上位機(jī)發(fā)出的動(dòng)作指令控制小車的運(yùn)行方向。

5 結(jié)論

基于Visual Basic的串口通訊和Arduino的智能小車控制系統(tǒng)采用上位機(jī)與控制單元聯(lián)合控制的方式,控制過程體現(xiàn)了交互式設(shè)計(jì)的優(yōu)勢(shì),能有效提高智能小車的使用率。

參考文獻(xiàn)

[1]李江全.Visual Baisc串口通信及測(cè)控應(yīng)用實(shí)例講解[M].北京:電子工業(yè)出版社,2013.

[2]戴圣偉,陳白帆,范紹成.無(wú)線遙控智能車的控制研究[J].計(jì)算機(jī)測(cè)量與控制,2011(09).

[3]戈惠梅,徐曉慧,顧志華,等.基于Arduino的智能小車避障系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014(11).

〔編輯:白潔〕

猜你喜歡
智能小車
基于STC89C51智能小車的移動(dòng)家居平臺(tái)的設(shè)計(jì)
基于HC—SR04超聲波傳感器的智能避障小車設(shè)計(jì)
智能安全防盜探測(cè)小車