• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Android手機藍牙控制的智能小車設(shè)計與實現(xiàn)

      2015-07-25 06:52:06聶茹
      微型電腦應(yīng)用 2015年9期
      關(guān)鍵詞:左轉(zhuǎn)藍牙小車

      聶茹

      0 引言

      遙控小車是玩具市場一種很常見的玩具,但是,每個小車都有自己特定的遙控器,原裝遙控器壞了很難與其它型號的進行匹配。現(xiàn)在手機使用十分普遍,如果利用手機這個平臺,通過軟件編程,通過藍牙來控制我們的玩具小車[1-2],可以很方便的在一個硬件平臺實現(xiàn)多種小車的遙控器。 因此,本論文先設(shè)計一種手機對智能遙控車的控制方案,利用本系統(tǒng)的控制模塊可擴展至對所有家電的控制。

      Andriod是一個完全開放的標(biāo)準(zhǔn)平臺,在2007年11月5日這天,谷歌公司正式向外界展示了這款名為Android的操作系統(tǒng),本程序是基于Android 2.1系統(tǒng),所用開發(fā)工具為Eclipse集成開發(fā)環(huán)境,Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境,在此開發(fā)環(huán)境下開發(fā)軟件非常的方便。

      1 系統(tǒng)設(shè)計內(nèi)容與設(shè)計方案

      1.1 設(shè)計內(nèi)容

      本次設(shè)計要求實現(xiàn)一個手機可以遠程通過藍牙控制小車的前進、后退、左轉(zhuǎn)和右轉(zhuǎn)。

      1.2 設(shè)計方案

      本設(shè)計是以 AT89C52單片機為核心,以設(shè)置手機界面來設(shè)置前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止等功能。單片機控制電機驅(qū)動來控制電機的正反轉(zhuǎn)以實現(xiàn)小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止。HC-06為藍牙接收模塊,通過與手機端的藍牙進行連接配對,從而接收從手機端發(fā)送過來的動作指令。接收到的指令再傳給單片機,單片機通過分析傳遞過來的指令不同,而跳轉(zhuǎn)到不同的子程序來控制電機驅(qū)動,從而實現(xiàn)小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止等不同的動作。電源提供給單片機5V直流電,L298需要從外部接兩個電壓,一個是給電機的,另一個給L298芯片的[3]。

      1.3 系統(tǒng)框圖

      本系統(tǒng)的系統(tǒng)框圖如圖1所示:

      圖1 系統(tǒng)框圖

      2 硬件電路設(shè)計

      整個系統(tǒng)的硬件可以分為4個模塊:電源電路、單片機最小系統(tǒng)、電機驅(qū)動模塊、藍牙模塊。電源電路為整個系統(tǒng)供電,包括單片機AT89C52、電機驅(qū)動、藍牙模塊、及其他外圍電路。電源電路分兩個部分:(1)接外部電源給電機供電;(2)由4節(jié)干電池作為電源,給系統(tǒng)供電,以確保單片機、電機驅(qū)動、藍牙模塊的正常運行。在電源電路給系統(tǒng)供電時,綠色指示燈點亮,只是當(dāng)前供電正常。單片機最小系統(tǒng)部分是整個系統(tǒng)的智能控制部分,也是整個系統(tǒng)的核心部分。電機驅(qū)動模塊L298需要從外部接兩個電壓,一個是給電機的,另一個給L298芯片的[4]。

      2.1 單片機最小系統(tǒng)

      單片機的最小系統(tǒng)就是讓單片機能正常工作并發(fā)揮其功能時所必須的組成部分,也可理解為是用最少的元件組成的單片機可以工作的系統(tǒng)。對51系列單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、時鐘電路、復(fù)位電路、輸入/輸出設(shè)備等[5-6]。

      2.2 電機驅(qū)動模塊

      L298是SGS公司的產(chǎn)品,比較常見的是15腳Multiwatt封裝的L298N,內(nèi)部同樣包含4通道邏輯驅(qū)動電路。可以方便的驅(qū)動兩個直流電機,或一個兩相步進電機。L298N芯片輸出電壓最高可達50V,可以直接通過電源來調(diào)節(jié)輸出電壓;電路簡單,使用比較方便。1腳和15腳下管的發(fā)射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信號。L298可驅(qū)動2個電動機,OUT1、OUT2和OUT3、OUT4之間可分別接電動機,本實驗裝置我們選用驅(qū)動一臺電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉(zhuǎn)。EnA、EnB接控制使能端,控制電機的停轉(zhuǎn)。

      2.3 藍牙模塊HC-06

      本模塊分主機和從機,主機能和從機配對通信,從機與從機之間或主機與主機之間不能通信,從機能和電腦、手機等的藍牙配對通信,購買時默認(rèn)為從機。在做智能小車控制時,藍牙模塊主要是實現(xiàn)接收從手機端發(fā)送過來的指令,所以我們需要的是從機模塊。藍牙串口在模塊功能上,偶數(shù)命名的互相兼容,從機命名的也互相兼容,也就是說,HC-04與HC-06,HC-03與 HC-05在功能上是兼容的。HC-04與HC-06是比較早的版本,用戶不可以自己切換主機或者從機,AT指令集很少,包括修改藍牙名(限于從機),修改密碼,修改波特率,詢問版本號等幾個基本功能。在本次設(shè)計中我們只需實現(xiàn)簡單的通信,因此選用 HC-06模塊。HC-06模塊只記憶最后一次配對過的從機,并只與該從機配對,直到KEY(26腳)高電平觸發(fā)時放棄記憶,26腳默認(rèn)應(yīng)該為低電平。

      3 系統(tǒng)軟件設(shè)計

      3.1 主程序設(shè)計

      在本次設(shè)計中,主程序主要是在單片機的控制下,對藍牙模塊輸入的信息進行存儲分析,來控制電機驅(qū)動,以達到控制小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)。在這個過程中,單片機首先進行初始化,包括設(shè)置單片機各個端口的方向,各個變量的初始化,以及單片機振蕩頻率的校準(zhǔn)等。單片機定時對藍牙模塊串口讀數(shù)據(jù),如果串口的數(shù)據(jù)讀出,則對讀出的數(shù)據(jù)進行分析,讀出的數(shù)據(jù)如果為 A、B、C、D則分別對應(yīng)小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)。

      3.2 手機端程序的設(shè)計

      本程序是基于Android 2.1系統(tǒng),所用開發(fā)工具為Eclipse集成開發(fā)環(huán)境,Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如 C++、Python和Android的開發(fā)工具,在此開發(fā)環(huán)境下開發(fā)軟件非常的方便。首先設(shè)計本系統(tǒng)手機端軟件的程序界面,為了盡快實現(xiàn)程序的功能,本程序沒有對軟件界面設(shè)計做特別美化的設(shè)計,僅包含我們所用到的幾個按鈕和圖形顯示,以實現(xiàn)我們的功能為最大目標(biāo)。

      (1)手機界面程序設(shè)計

      在設(shè)置手機界面的時候,在Eclipse集成開發(fā)環(huán)境下,首先,新建一個 android項目工程,興建路徑是File—New—android project—project name,選擇 android 1.6版本,工程名命名為Bluetooth-car,選擇Create Activity,則自動創(chuàng)建了一個Activity。手機界面圖如圖2所示:

      圖2 手機界面圖

      (2)手機監(jiān)聽程序設(shè)計

      在Eclipes開發(fā)平臺上,首先在Layout文件中采用相對布局的形式設(shè)計完成手機界面以后,就要考慮為我們的每個Butten按鍵綁定監(jiān)聽程序,以實現(xiàn)在每個按鍵按下時,就能通過手機藍牙發(fā)送相應(yīng)的數(shù)據(jù)到小車藍牙接收模塊。首先在Layout文件中,每添加一個控件,都會為這個控件設(shè)置一個ID,(如android:id="@+id/button1"),然后在R.JAVA文件就會自動生成一個ID地址。然后在主程序里面編寫監(jiān)聽程序,當(dāng)按鍵按下的時候,通過監(jiān)聽按鍵的ID地址的不同,采用switch結(jié)構(gòu),跳轉(zhuǎn)到不同的case里,向小車藍牙模塊發(fā)送不同的數(shù)據(jù)。在程序里直接寫進小車藍牙模塊的藍牙地址(00:12:10:31:01:70),當(dāng)程序開始運行時,將會自動搜索該地址的藍牙芯片,當(dāng)進行過一次配對連接以后,將會記憶該地址,以后每次只要打開手機界面,開始運行時就會自動進行搜索配對連接好[7-8]。

      4 系統(tǒng)調(diào)試

      根據(jù)電路原理圖、實物 圖把電路板實物做出來后,下一步就是電路板調(diào)試。電路板調(diào)試是最關(guān)鍵的一步,前面所做的電路設(shè)計的成功與否就是在調(diào)試步驟里體現(xiàn)的。本系統(tǒng)的調(diào)試主要分為硬件調(diào)試、軟件調(diào)試和系統(tǒng)整體調(diào)試等3大部分。

      4.1 硬件調(diào)試

      硬件電路調(diào)試包括獨立元件的檢測、單片機最小系統(tǒng)的調(diào)試、電源電路的調(diào)試、驅(qū)動模塊的調(diào)試4部分。下面,主要介紹驅(qū)動模塊的調(diào)試情況。驅(qū)動模塊為驅(qū)動電機的芯片,L298需要從外部接兩個電壓,一個是給電機的,另一個給L298芯片的。首先檢查驅(qū)動芯片與單片機的各個連線是否都正確以后,給芯片通上電源,單片機指示燈點亮以后。運行單片機上的程序,通過單片機 P2口的數(shù)據(jù)變化來控制L298的IN1、IN2、IN3、IN4的電平的高低。L298輸入端的高低電平的變化,通過輸入端的LED燈的亮滅來顯示。當(dāng)運行前進程序的時候,IN1、IN2、IN3、IN4的值為1、0、1、0,分別點亮LED1和LED3,左右電機都正轉(zhuǎn),實現(xiàn)小車前進;運行左轉(zhuǎn)程序的時候,IN1、IN2、IN3、IN4分別為 1、0、0、1,分別點亮 LED1、LED4,左電機正轉(zhuǎn),右電機反轉(zhuǎn),實現(xiàn)小車左轉(zhuǎn);運行右轉(zhuǎn)程序的時候,IN1、IN2、IN3、IN4的值為0、1、1、0,點亮LED2,LED3,左電機反轉(zhuǎn),右電機正轉(zhuǎn),實現(xiàn)小車右轉(zhuǎn);運行后退程序的時候,IN1、IN2、IN3、IN4 的值分別為 0、1、0、1,分別點亮 LED2、LED4,左右電機都反轉(zhuǎn),實現(xiàn)小車后退。通過調(diào)試電機驅(qū)動模塊能實現(xiàn)基本的功能。其調(diào)試圖如圖3~圖6所示:

      圖3 小車前進指示圖

      圖4 小車后退指示圖

      圖5 小車左轉(zhuǎn)指示圖

      圖6 小車右轉(zhuǎn)指示圖

      4.2 軟件調(diào)試

      將做好的工程添加進入Eclipes開發(fā)環(huán)境中,檢查各個文件夾下面的程序有沒有出現(xiàn)打紅色X的問題以及警告,點開下方的problem的文件,檢查該工程有沒有出現(xiàn)問題,當(dāng)排除了所有的問題以后。配置一個2.2版本的模擬器,然后啟動模擬器,在模擬器上運行該工程,在模擬器上將會出現(xiàn)已經(jīng)做好的手機界面,運行完成,調(diào)試成功。然后將手機連接到電腦上,打開安卓手機的USB接口。接下來點擊運行整個工程項目,在手機上出現(xiàn)前面那個做好的藍牙小車控制界面。點擊各個按鈕,都無問題,證明該JAVA程序沒有問題。

      4.3 系統(tǒng)整體調(diào)試

      藍牙控制小車的硬件模塊和軟件模塊分別調(diào)試通過后,接下來就可以進行系統(tǒng)的整體測試。首先檢查各個模塊之間,以及電機驅(qū)動與電機的連接都沒有出錯的情況下,打開給各個模塊提供的5V電源以及打開給電機提供的另一個6V電源。此時最小系統(tǒng)模塊指示燈點亮,表示單片機供電正常,藍牙模塊指示燈開始閃爍,表示藍牙模塊也供電正常。此時打開安卓手機的藍牙,搜索該藍牙芯片,進行配對。然后打開我們做好的手機界面,當(dāng)界面打開之后,開始自動搜索藍牙芯片的地址進行連接,當(dāng)藍牙芯片的指示燈由閃爍轉(zhuǎn)變?yōu)槌A烈院?,表示藍牙配對連接成功。在剛開始的時候調(diào)試的時候遇到了一些問題,在電機驅(qū)動方面,當(dāng)在手機端的界面上點擊前進、后退、左轉(zhuǎn)、右轉(zhuǎn)按鈕的時候,藍牙模塊能接受手機端發(fā)送的字符 A、B、C、D的ASCII碼值,并且能夠通過串口相應(yīng)的傳遞給單片機,單片機通過分析串口傳過來的數(shù)據(jù),改變P2口的值分別為65、66、67、68,來控制電機驅(qū)動的輸入端IN1、IN2、IN3、IN4。相應(yīng)的電機驅(qū)動端的四個指示 LED燈都能根據(jù)數(shù)據(jù)的變化采取不同的亮和滅的組合情況,來相應(yīng)控制小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)。

      5 總結(jié)

      本文闡述一種通過手機藍牙遙控小車行走的軟、硬件設(shè)計。手機藍牙作為客戶端,小車上的藍牙模塊 HC-06作為服務(wù)端??蛻舳瞬捎肊clipse開發(fā)環(huán)境,JAVA編程,服務(wù)端采用單片機控制。雙方通過串口進行通信,單片機驅(qū)動直流電機控制小車行動。實驗結(jié)果表明,小車可以接收手機遙控信號并靈活地進行前行、倒退、左轉(zhuǎn)、右轉(zhuǎn)和停止等功能。

      [1] 符強,任風(fēng)華.基于手機藍牙的遙控小車的設(shè)計[J].現(xiàn)代計算機(專業(yè)版),2011, (31):77-79.

      [2] 林長青,成海量.基于Android系統(tǒng)和藍牙通信的手機遙控車設(shè)計[J].山西電子技術(shù),2012, (03):56-58.

      [3] 孫玉艷.實現(xiàn)PC機與單片機的數(shù)據(jù)通信與控制[J].廣東白云職業(yè)技術(shù)學(xué)院廣州白云工商高級技工學(xué)校學(xué)報,2002,(04) : 46-49.

      [4] 李學(xué)軍.如何用MCS-51單片機擴展串口進行通訊[J].寧夏機械,2003,(2) :24-26.

      [5] 張毅剛,彭喜元,彭宇.單片機原理及應(yīng)用[M].北京:高等教育出版社,2010.

      [6] 李艷紅. 單片機 I/O口不宜用作直接驅(qū)動出口[J].電站設(shè)備自動化,2003,(2) :20-23.

      [7] 張桂珠,劉麗,陳愛國.Java面向?qū)ο蟪绦蛟O(shè)計[M].北京:北京郵電大學(xué)出版社,2007.

      [8] Ken Dunham, Mobile Malware Attacks and Defense[M],2008:162.

      猜你喜歡
      左轉(zhuǎn)藍牙小車
      交叉口借道左轉(zhuǎn)方案的交通安全仿真研究
      藍牙音箱的直線之美
      基于車流擁擠檢測的“借道左轉(zhuǎn)”自適應(yīng)智能控制*
      不能左轉(zhuǎn)
      快樂語文(2020年36期)2021-01-14 01:10:32
      自制小車來比賽
      道路交叉口“借道左轉(zhuǎn)”的優(yōu)化控制
      劉老師想開小車
      文苑(2018年22期)2018-11-19 02:54:18
      簡單、易用,可玩性強Q AcousticsBT3藍牙音箱
      兩輪自平衡小車的設(shè)計與實現(xiàn)
      電子制作(2018年8期)2018-06-26 06:43:02
      寿阳县| 云安县| 雅江县| 资源县| 钦州市| 新晃| 高青县| 柳河县| 云南省| 德安县| 彰化市| 南昌市| 五河县| 出国| 双牌县| 长子县| 沅江市| 额济纳旗| 隆安县| 博白县| 什邡市| 荔浦县| 四川省| 锡林浩特市| 眉山市| 盐边县| 黄陵县| 垫江县| 贵南县| 霸州市| 伊金霍洛旗| 麻城市| 修文县| 秦安县| 呼图壁县| 都安| 闻喜县| 泗洪县| 东辽县| 平谷区| 正定县|