• 
    

    
    

      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
      邻水| 高唐县| 浦北县| 富宁县| 杭锦旗| 大石桥市| 湟源县| 中方县| 汶川县| 松溪县| 南溪县| 兴城市| 淮滨县| 三门县| 礼泉县| 新民市| 清远市| 菏泽市| 淮安市| 双流县| 襄垣县| 涟水县| 嘉定区| 大荔县| 天祝| 阳原县| 舒城县| 江陵县| 元氏县| 大兴区| 吉林市| 宣武区| 保亭| 集安市| 青海省| 安塞县| 昭平县| 华阴市| 济源市| 望谟县| 宁阳县|