• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Android 平臺(tái)的無(wú)線(xiàn)遙控智能小車(chē)

    2013-12-21 06:25:14朱丹峰葛主冉林曉雷
    電子器件 2013年3期
    關(guān)鍵詞:循跡藍(lán)牙小車(chē)

    朱丹峰 ,葛主冉,林曉雷

    (溫州醫(yī)學(xué)院生物醫(yī)學(xué)工程系,浙江 溫州325035)

    目前,藍(lán)牙和WiFi 技術(shù)得到了空前廣泛的應(yīng)用,使用藍(lán)牙和WiFi 的產(chǎn)品非常多,如手機(jī)、電腦、汽車(chē)、游戲設(shè)備和醫(yī)療設(shè)備等。在中國(guó),手機(jī)的普及率已經(jīng)很高,通過(guò)移動(dòng)設(shè)備實(shí)現(xiàn)遠(yuǎn)程控制已成為人們需求的方向[1]。Android 是一種以L(fǎng)inux 為基礎(chǔ)的開(kāi)放源碼操作系統(tǒng),基于此平臺(tái)的應(yīng)用程序開(kāi)發(fā),越來(lái)越熱門(mén)[2]?;贏ndroid 平臺(tái)的藍(lán)牙遙控小車(chē)具有遠(yuǎn)程控制(藍(lán)牙,WiFi)、自動(dòng)循跡、自動(dòng)避障、尋找電光源等功能,有一定的新穎度,能夠運(yùn)用到實(shí)際生產(chǎn),有一定的社會(huì)需求,可以進(jìn)一步開(kāi)發(fā)用來(lái)完成一些目前人類(lèi)無(wú)法完成的任務(wù),具有一定的實(shí)際意義。

    1 智能小車(chē)硬件設(shè)計(jì)

    1.1 總體方案設(shè)計(jì)

    智能小車(chē)硬件以STC12C5A60S2 單片機(jī)為控制核心,用光電傳感器獲取外界信號(hào),使用電機(jī)驅(qū)動(dòng)電路驅(qū)動(dòng)直流電機(jī)。整個(gè)系統(tǒng)分為以下幾個(gè)模塊:Android 設(shè)備、穩(wěn)壓電源模塊、控制器模塊、直流電機(jī)驅(qū)動(dòng)模塊、循跡模塊、避障模塊、尋光模塊、藍(lán)牙模塊、WiFi 模塊及攝像頭模塊組成??傮w硬件框圖如圖1 所示。

    圖1 總體硬件框圖

    1.2 智能小車(chē)控制系統(tǒng)硬件電路設(shè)計(jì)

    1.2.1 智能小車(chē)控制器模塊

    控制器是智能小車(chē)的核心,本系統(tǒng)采用51 系列單片機(jī),具體型號(hào)為STC12C5A60S2。STC12C5A60S2系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度比8051 快8 倍~12 倍,片上集成1 280 byte RAM,針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合,內(nèi)部結(jié)構(gòu)包括中央處理器(CPU)、程序處理器(Flash)、數(shù)據(jù)存儲(chǔ)器(SRAM)、定時(shí)/計(jì)數(shù)器、UART 接口、串口2、I/O 口、高速A/D 轉(zhuǎn)換、SPI 接口、PCA、MAX810 專(zhuān)用復(fù)位電路、看門(mén)狗及片內(nèi)R/C 振蕩器和外部晶體振蕩電路等模塊。本系統(tǒng)需要單片機(jī)實(shí)現(xiàn)復(fù)位,I/O 口控制,PWM 調(diào)速等功能[3]。

    1.2.2 直流電機(jī)驅(qū)動(dòng)模塊

    目前大多采用開(kāi)關(guān)型驅(qū)動(dòng)方式驅(qū)動(dòng)直流電機(jī),最常見(jiàn)的驅(qū)動(dòng)方式是脈沖寬度調(diào)制(PWM)[4]。本系統(tǒng)電機(jī)驅(qū)動(dòng)芯片采用L298N,采用單片機(jī)PWM調(diào)速,L298N 可以驅(qū)動(dòng)兩組直流電機(jī),其單組驅(qū)動(dòng)電流可達(dá)2 A。電機(jī)驅(qū)動(dòng)模塊原理如圖2 所示。

    圖2 電機(jī)驅(qū)動(dòng)模塊原理圖

    1.2.3 循跡、避障、尋光模塊

    循跡模塊采用發(fā)射接收一體式紅外傳感器TCRT5000,體積小、靈敏度高、光電轉(zhuǎn)換速度快、能防止其他光線(xiàn)干擾。TCRT5000 輸出信號(hào)經(jīng)門(mén)電路整形后可以給單片機(jī)提供穩(wěn)定的TTL 信號(hào),使尋線(xiàn)更加準(zhǔn)確穩(wěn)定。

    避障模塊采用發(fā)射接收一體化反射式光電傳感器,用紅外接收頭和紅外發(fā)光二極管進(jìn)行避障,紅外接收頭接收已調(diào)制好的信號(hào),受其他光源的影響很小。避障傳感器感應(yīng)距離在3 cm ~80 cm。

    尋光模塊采用光敏二極管的光電效應(yīng)對(duì)周?chē)h(huán)境光的強(qiáng)度進(jìn)行檢測(cè)。光敏二極管靈敏度高,線(xiàn)性好,方向性好,可感知固定方向的可見(jiàn)光,能將光信號(hào)轉(zhuǎn)變成電信號(hào),便于單片機(jī)判斷。

    循跡、尋光模塊原理如圖3 所示。

    圖3 循跡、尋光模塊原理圖

    1.2.4 藍(lán)牙模塊

    藍(lán)牙設(shè)備體積小、功耗低,廣泛地應(yīng)用在嵌入式平臺(tái)上。本系統(tǒng)采用HC-06 藍(lán)牙模塊,HC-06 藍(lán)牙模塊可以通過(guò)AT 指令修改參數(shù),可以掉電保存參數(shù),給藍(lán)牙模塊上電,不配對(duì)的情況下就是進(jìn)入AT 模式了,指令間隔1 s 左右。

    1.2.5 WiFi 模塊

    Openwrt 是一個(gè)小型Linux 系統(tǒng),DB120-WG 路由器安裝上Openwrt 后,其功能將變?yōu)楫惓?qiáng)大,可做為一臺(tái)小型服務(wù)器,安裝好數(shù)據(jù)轉(zhuǎn)發(fā)和監(jiān)控軟件后,可以實(shí)現(xiàn)與單片機(jī)的串口通信,并用WiFi 傳輸視頻信號(hào),實(shí)現(xiàn)視頻監(jiān)控功能[5]。本系統(tǒng)安裝的視頻監(jiān)控軟件為MJPG-streamer,安裝好后通過(guò)命令啟動(dòng)該軟件,mjpg_streamer -i "input_uvc. so -y -d/dev/video0" -o "output_http. so -p 8080 -w/www/camweb"。mjpg_streamer 啟動(dòng)成功后,則可以通過(guò)瀏覽器訪(fǎng)問(wèn)http://路由IP:8080/?action=stream查看視頻。

    DB120-WG 需要安裝Ser2net 實(shí)現(xiàn)網(wǎng)絡(luò)轉(zhuǎn)串口[6],并設(shè)置波特率為9600 bit/s,8 bit 數(shù)據(jù)位,1 bit停止位。DB120-WG 通過(guò)WiFi 接收上位機(jī)Android設(shè)備的命令,然后通過(guò)Ser2net 轉(zhuǎn)發(fā)給單片機(jī)串口,用來(lái)控制小車(chē)運(yùn)動(dòng)。

    1.2.6 攝像頭模塊

    雖然Linux 系統(tǒng)對(duì)芯片為ZC301 的攝像頭驅(qū)動(dòng)支持更好,但是現(xiàn)在市場(chǎng)上攝像頭多為UVC 攝像頭,且攝像頭像素更高,所以本系統(tǒng)采用UVC 攝像頭,攝像頭通過(guò)USB 接口與DB120 路由器相連接,安裝好驅(qū)動(dòng)和視頻監(jiān)控軟件后即可通過(guò)DB120-WG 的WiFi 功能傳輸視頻信號(hào)。

    2 智能小車(chē)控制器軟件設(shè)計(jì)

    2.1 主程序流程

    本系統(tǒng)的軟件需完成以下功能:

    (1)檢測(cè)小車(chē)所處的環(huán)境狀態(tài),如黑白線(xiàn),障礙物,光照強(qiáng)度等;

    (2)控制電機(jī)的運(yùn)轉(zhuǎn)方向與速度;

    (3)接收上位機(jī)Android 設(shè)備的控制命令。

    下位機(jī)軟件流程如圖4 所示。

    圖4 下位機(jī)軟件流程圖

    2.2 系統(tǒng)初始化

    單片機(jī)上電后,首先執(zhí)行初始化動(dòng)作,包括I/O口工作模式、中斷、串口、PWM 初始化等。

    2.3 串口通信

    單片機(jī)與藍(lán)牙模塊、WiFi 模塊的無(wú)線(xiàn)通信是利用單片機(jī)的UART 接口。STC12C5A60S2 單片機(jī)具有2 個(gè)采用UART 工作方式的全雙工串行通信接口。每個(gè)串行口由2 個(gè)數(shù)據(jù)緩沖器、一個(gè)移位寄存器、一個(gè)串行控制寄存器和一個(gè)波特率發(fā)生器等組成。

    2.4 循跡、避障、尋光的實(shí)現(xiàn)算法

    單片機(jī)通過(guò)傳感器,檢測(cè)外界環(huán)境狀態(tài),作出判斷,從而改變小車(chē)行駛狀態(tài)。由于單片機(jī)資源利用率不高,所以小車(chē)的循跡、避障、尋光都采用輪詢(xún)方式。傳感器檢測(cè)到的信號(hào)與環(huán)境狀態(tài)關(guān)系如表1所示。

    表1 傳感器信號(hào)與環(huán)境狀態(tài)關(guān)系表

    2.5 電機(jī)驅(qū)動(dòng)與PWM 調(diào)速

    STC12C5A60S2 單片機(jī)集成了兩路可編程計(jì)數(shù)器陣列(PCA)模塊,可用于軟件定時(shí)器、外部脈沖的捕捉、高速輸出以及脈寬調(diào)制(PWM)輸出。PWM 初始化代碼如下:

    P1M1=0x00;

    P1M0 |=0x18;//設(shè)置P1.3,P1.4 口為強(qiáng)推挽輸出,輸出PWM 信號(hào)

    CMOD |=0x04;//選擇定時(shí)器T0 的溢出率為PWM 時(shí)鐘源,控制PWM 波的頻率

    CCAPM0 |=0x42;//允許比較器功能,開(kāi)啟PWM0

    CCAPM1 |=0x42;//允許比較器功能,開(kāi)啟PWM1

    CL=0x00;//計(jì)數(shù)器清零

    CH=0x00;

    CR=1;//啟動(dòng)PWM

    可以通過(guò)改變寄存器CCAP0L、CCAP0H、CCAP1L、CCAP1H 的值來(lái)分別改變兩路PWM 占空比。通過(guò)示波器測(cè)得的PWM 波形如表2 所示。

    3 Andriod 架構(gòu)及Eclipse 開(kāi)發(fā)環(huán)境

    3.1 Android 系統(tǒng)架構(gòu)

    Android 系統(tǒng)架構(gòu)由5 部分組成,分別是Linux內(nèi)核(Linux Kernel)、運(yùn)行環(huán)境(Android Runtime)、開(kāi)發(fā)庫(kù)(Libraries)、應(yīng)用框架(Application Framework)、應(yīng)用程序(Applications)[7]。Android 系統(tǒng)架構(gòu)如圖5所示。

    3.2 Android 應(yīng)用程序開(kāi)發(fā)環(huán)境Eclipse

    Android應(yīng)用程序開(kāi)發(fā)支持Windows、Linux、Mac OS 等操作系統(tǒng),當(dāng)前中國(guó)主流的操作系統(tǒng)是微軟的Windows 系統(tǒng),在Windows 下大多采用Eclipse搭建Android 開(kāi)發(fā)環(huán)境。Eclipse(Integrated Development Environment)是一個(gè)集成開(kāi)發(fā)環(huán)境,通過(guò)插件來(lái)構(gòu)建開(kāi)發(fā)環(huán)境,主要由Eclipse 項(xiàng)目、Eclipse 工具項(xiàng)目和Eclipse 技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成——Eclipse Platform、JDT、CDT 和PDE[8]。Eclipse 具有以下特點(diǎn):

    (1)開(kāi)放源代碼,能接受由Java 開(kāi)發(fā)者自己編寫(xiě)的插件;

    (2)附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java 開(kāi)發(fā)工具JDT(Java Development Tools);

    (3)對(duì)內(nèi)存控制很好,Eclipse 對(duì)插件的調(diào)用是動(dòng)態(tài)的,Eclipse 會(huì)在適當(dāng)?shù)臅r(shí)候?qū)㈤L(zhǎng)時(shí)間不用的插件清理出內(nèi)存,程序員不用擔(dān)心內(nèi)存不足的問(wèn)題。

    表2 PWM 波形表

    圖5 Android 系統(tǒng)架構(gòu)

    4 運(yùn)行結(jié)果與結(jié)論

    基于Android 平臺(tái)的無(wú)線(xiàn)遙控智能小車(chē),通過(guò)單片機(jī)、Android 設(shè)備及軟件設(shè)計(jì)實(shí)現(xiàn)了無(wú)線(xiàn)遙控、循跡、避障、尋光、視頻監(jiān)控等功能。在該控制系統(tǒng)下,無(wú)線(xiàn)遙控小車(chē)具有良好的操控性、擴(kuò)展性、實(shí)用性。經(jīng)過(guò)測(cè)試,得出智能小車(chē)技術(shù)參數(shù),如表3 所示。

    表3 智能小車(chē)技術(shù)參數(shù)表

    由于客觀(guān)條件不足和本人能力有限,還存在以下不足之處需要改善:

    (1)單片機(jī)控制算法較簡(jiǎn)單,應(yīng)對(duì)循跡、避障、尋光的算法做進(jìn)一步優(yōu)化;

    (2)視頻傳輸速度不夠快,有延遲。

    (3)本系統(tǒng)只考慮了點(diǎn)對(duì)點(diǎn)的控制,下一步可以開(kāi)發(fā)實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)的控制。

    [1] 林志翔,肖寶森.新型多功能智能小車(chē)的設(shè)計(jì)與應(yīng)用[J].現(xiàn)代電子技術(shù),2011,34(6):134-136.

    [2] 楊豐盛. Android 應(yīng)用開(kāi)發(fā)揭秘[M]. 北京:機(jī)械工業(yè)出版社,2010:1-4.

    [3] 劉泉,李成.基于CC2500 的無(wú)線(xiàn)信息家電節(jié)點(diǎn)設(shè)計(jì)[J]. 電子器件,2009,32(1):153-157

    [4] 陳德益.基于嵌入式單片機(jī)的電機(jī)控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)仿真,2010,27(1):359-362.

    [5] Fu Zhiquan. Design of Digital Video Capture System Based on USB2.0[J].Zhuangjiabing Gongcheng Xueyuan Xuebao,2005,5(15):23-27.

    [6] 李佐彬.Android 開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)體驗(yàn)[M].北京:機(jī)械工業(yè)出版社,2011:32-35.

    [7] DiMarzio J F. Android A Programmer’s Guide[M]. McGraw-Hill Osborne Media,2008.

    [8] 強(qiáng)鋒科技,陳剛.Eclipse 從入門(mén)到精通[M].北京:清華大學(xué)出版社,2005:5-6.

    猜你喜歡
    循跡藍(lán)牙小車(chē)
    藍(lán)牙音箱的直線(xiàn)之美
    基于DFT算法的電力巡檢無(wú)人機(jī)循跡檢測(cè)系統(tǒng)設(shè)計(jì)
    大車(chē)?yán)≤?chē)
    自制小車(chē)來(lái)比賽
    劉老師想開(kāi)小車(chē)
    文苑(2018年22期)2018-11-19 02:54:18
    簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
    基于單片機(jī)的智能循跡小車(chē)的設(shè)計(jì)
    兩輪自平衡小車(chē)的設(shè)計(jì)與實(shí)現(xiàn)
    電子制作(2018年8期)2018-06-26 06:43:02
    適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
    智能差分循跡小車(chē)設(shè)計(jì)
    電子制作(2017年1期)2017-05-17 03:54:20
    确山县| 房山区| 翼城县| 安龙县| 溧阳市| 普格县| 余干县| 伊宁县| 西吉县| 芦溪县| 宁都县| 龙里县| 天镇县| 永城市| 双江| 慈溪市| 黔江区| 堆龙德庆县| 祁门县| 上思县| 陕西省| 北碚区| 盈江县| 二连浩特市| 抚州市| 揭阳市| 江孜县| 墨竹工卡县| 克拉玛依市| 乌鲁木齐县| 通渭县| 陆川县| 本溪市| 云龙县| 丽水市| 佳木斯市| 紫阳县| 南和县| 阳泉市| 黎城县| 阿荣旗|