《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于Arduino/Android的小車藍牙控制系統的設計與實現

基于Arduino/Android的小車藍牙控制系統的設計與實現

2017-03-05
作者:徐鵬1,梁曼2,魏萍1,張海玲1
來源:2017年微型機與應用第4期

  徐鵬1,梁曼2,魏萍1,張海玲1

  (1.浙江國際海運職業技術學院 船舶工程學院,浙江 舟山 316021;2.浙江工業大學 特種裝備制造與先進加工技術教育部重點實驗室,浙江 杭州 310014)

       摘要:以Arduino單片機的硬件平臺為核心控制器,結合Eclipse開發環境和Arduino IDE編程語言完成小車的主控程序,通過Android手機藍牙客戶端與藍牙模塊服務端的通信實現小車的智能策略控制。小車整體采用前橋驅動、后輪轉向的布局方式,兩輪各用一個直流電機配合齒輪減速機構實現運作。實驗表明:該控制系統實現了基于Android手機的藍牙控制小車的運行功能,實現小車的前進、后退和轉彎等多種運動形態。該控制系統結構簡單、操作方便,為新型智能控制系統的設計提供了參考依據。

  關鍵詞:Arduino;Android;藍牙;智能小車

  中圖分類號:TN242.6文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.04.029

  引用格式:徐鵬,梁曼,魏萍,等.基于Arduino/Android藍牙控制小車系統的設計與實現[J].微型機與應用,2017,36(4):96-98,102.

0引言

  *基金項目:浙江省高等教育課堂教學改革項目(kg2015939);浙江國際海運職業技術學院2016訪問工程師校企項目Arduino作為新興的開源電子設計平臺,注重程序的邏輯結構,忽略底層函數的具體設計,大大降低了編程難度,因此常用作機器人的主控芯片[12]。此外,Arduino中的Atmega328AU處理芯片具有強大的數據處理功能,處理速度和各項性能均優于傳統的51芯片,本設計基于Android操作系統的開源性和可操作性,利用無線技術控制小車運行[34]。藍牙作為一種抗干擾能力強、功耗低的無線互連技術,比其他無線控制技術,如紅外、射頻等應用范圍更廣,在局域范圍控制中具有一定的優勢[56]。因此,本文以Android手機作為終端,通過藍牙串口傳輸指令,實現小車的智能策略控制[78]。

1系統設計方案

001.jpg

  以Arduino單片機為核心,通過Android手機中的藍牙串口助手發送指令至藍牙模塊進行存儲分析,實現小車的前進、后退、左旋、右旋、左轉、右轉、停止等功能。首先在硬件通電的瞬間實現硬件的初始化,包括HC06藍牙模塊的設置連接及電機通電待命狀態。初始化完成后,通過Android手機中的藍牙串口助手進行指令的發送,Arduino處理器實時對HC06藍牙模塊端口進行數據讀取和分析,收到信號立即進行處理,再通過L296N電機驅動模塊實現小車的運行功能,控制流程如圖1所示。

2系統硬件電路設計

  整個硬件系統分為3個子模塊:Arduino主控模塊、H橋控制的電機驅動模塊和HC06藍牙模塊。主控模塊采用以Atmega328AU處理芯片為內核的芯片,是整個系統的智能控制部分,進行信息數據的分析和處理;電機驅動模塊主要采用L298N驅動模式,實現對電機的控制;藍牙模塊負責接收相應的指令控制驅動電機模塊轉動,從而實現無線控制功能。

  2.1Arduino硬件開發板

  Arduino單片機是一塊基于開放源代碼的USB接口板,微處理器采用Atmega328AU,性價比高,同時具有類似Java、C語言的IDE開發環境硬件庫,可根據外圍硬件進行庫的二次開發,方便與各種電子組件的連接[910]。外圍引腳包括數字I/O(D0-D13)、模擬I/O(A0-A5)、7個PWM,并且支持外部供電與USB供電自動切換。

  2.2電機驅動模塊

  L298N電機驅動模塊主要包括由8個二極管組成的兩組電機控制接口端(P1,P2),其內部是4通道邏輯驅動電路,用于接收來自Arduino芯片的驅動控制信息和對兩個電機的控制信息。電路中8個二極管的作用是為產生的反向電流提供泄放路徑,避免電流過大燒毀驅動芯片。小車的左右輪兩組電機分別與電機控制接口端相連接,構成小車的運動控制系統。電機控制系統中采用線圈式電機,防止電機從一種運行狀態切換到另一種運行狀態時形成的反向電流燒毀電機。電機驅動模塊電路設計如圖2所示。

002.jpg

  2.3HC-06藍牙模塊

  藍牙模塊用于連接Android手機和小車,實現數據的傳輸。藍牙模塊分為主機模塊和從機模塊,主機能夠與從機配對通信,從機與從機之間或主機與主機之間不能通信,在本項目中,藍牙模塊主要功能是接收從手機端發送過來的指令,實現單一方向的通信,因此選擇從機HC-06模塊[1112]。藍牙數據傳輸流程如圖3所示。

003.jpg

  首先將藍牙模塊連接到PC上,完成與手機的配對,再將藍牙模塊連接到Arduino控制板的藍牙模塊接口。連接方式:藍牙模塊的VCC接Arduino的3.3 V;GND接Arduino的GND;藍牙模塊的接收端RXD接Arduino的發送端TX,因為Arduino主控器只發送命令無需接收信號,所以藍牙模塊的發送端TXD和Arduino的接收端RX無需連接,再根據相應的IDE程序完成Android手機與Arduino控制器的連接,硬件連接如圖4所示。

004.jpg

3系統軟件設計

  小車控制系統的軟件設計包括上位機和下位機軟件的編寫和測試。在上位機軟件設計中,選用Eclipse作為開發工具,設計了客戶端軟件,用Java語言開發客戶端的控制程序。為簡潔、快速地實現程序功能,本程序沒有對軟件界面做美化設計。在程序操作過程中,首先連接智能小車和HC06藍牙模塊,點擊界面中的“查找設備”,程序就會列出周圍已開啟的藍牙設備,如圖5(a)所示,選擇屬于小車的藍牙設備即可自動連接上,控制小車運行的9個按鈕和圖形顯示如圖5(b)所示。

005.jpg

  下位機軟件設計,即Arduino主控模塊上串口通信程序的設計,采用模塊化結構,由主程序﹑左轉子程序、右轉子程序﹑前進子程序、后退子程序等構成。Arduino單片機的串行口通過訪問特殊功能寄存器SBUF實現接收緩沖器和發送緩沖器的訪問,并且可以同時接收和發送數據。串行口的控制主要包括對狀態控制寄存器SCON、控制寄存器PCON和串行數據寄存器SBUF的設置。Arduino對于常用的串行口已有完整的集成庫,管腳進行配置只需調用相應的子函數,如pinMode(pin,mode),pin為用戶欲配置的管腳編號,mode為配置模式(INPUT表示配置為輸入管腳,OUTPUT表示配置為輸出管腳)。基于Arduino開發環境下的部分IDE程序代碼如下。圖4藍牙模塊的硬件連接圖圖5藍牙客戶端與硬件模塊連接界面

  void forward( );//小車前進

  void back( ); //小車后退

  void turnLeft( ); //小車左轉

  void turnRight( ); //小車右轉

  void car_up( ); //小車加速

  void car_down( ); //小車減速

  void turnLeftOrigin( ); //小車左旋

  void turnRightOrigin( ); //小車右旋

  void _stop();//小車停止

  void setup();

  {pinMode(IN1,OUTPUT);

  pinMode(IN2,OUTPUT);

  pinMode(IN3,OUTPUT);

  pinMode(IN4,OUTPUT);

  Serial.begin(9600);}

  void loop()

  {…..}

4控制系統測試

  4.1驅動電機測試

  小車的系統設計要求Android手機能正確控制小車的轉向、前進、后退和停止等功能。為檢測系統能否達到設計要求,對系統進行功能和性能測試。本文中用Arduino單片機的4、5、6、7引腳的高低電平來控制小車的啟停和轉向。ENA和ENB是電機1和電機2的使能引腳,IN1和IN2引腳控制電機1,IN3和IN4引腳控制電機2。以前驅左輪電機1為例,真值表如表1所示。

006.jpg

  4.2藍牙通信距離的測試

  藍牙作為一種抗干擾能力強、功耗低的無線技術使用較為普遍,但同時藍牙模塊的低功率和高頻率限制了其應用范圍,故對該系統的通信質量進行測試,測試地點選擇教學樓內和空曠的平地,經測試確定無線藍牙能在約9 m的范圍內有效控制。

5結論

  本設計以Arduino單片機為核心控制,通過HC06藍牙模塊實現小車和主控制器的通信,完成小車多種運動形態,實現小車智能策略控制。實驗表明,本控制系統能夠實現小車前進、停止、左旋、右旋等功能,達到預期設計效果。但藍牙控制范圍有限,為擴大其應用范圍,考慮引進蜂窩的網路架構或者通過增大發射功率等措施來擴大覆蓋半徑。

參考文獻

  [1] 紀欣然.基于Arduino開發環境的智能尋光小車設計[J].現代電子技術,2012,35(15):161-163.

  [2] 朱丹峰,葛主冉,林曉雷.基于Android平臺的無線遙控智能小車[J].電子器件,2013,36(3):408-412.

  [3] 王洪斌,李程,王躍靈,等.基于Arduino和藍牙技術的六足機器人控制系統設計[J].黑龍江大學自然科學學報,2015,32(4):533-537.

  [4] 李建高,李樹明. 基于藍牙與智能手機的遠程信息采集與控制系統[J]. 微型機與應用,2012, 31(17):92-94.

  [5] 紀欣然.基于Arduino開發環境的智能尋光小車設計[J].現代電子技術,2012,35(15):161-163.

  [6] 卞云松.基于Arduino單片機的避障小車機器人[J].自動化技術與應用,2014,33(1):16-19.

  [7] 戈惠梅,徐曉慧,顧志華,等.基于Arduino的智能小車避障系統的設計[J].現代電子技術,2014,37(11):118-120.

  [8] 趙新穎,羅坤.基于80C51控制的智能電動小車系統的設計與實現[J].微型機與應用,2011,30(22):85-87.

  [9] 江燕良.基于Android智能終端的遠程控制系統[J].電子技術應用,2012,38(8):129-132


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久综合九色综合77 | 成人午夜免费剧场 | 一级一级一级一级毛片 | 米奇777第四久久久99 | 国产中文一区 | 日一区二区 | 草草在线观看视频 | 欧美操日韩 | 91国自产精品中文字幕亚洲 | 日韩欧美在线视频观看 | 一级做a爰片久久毛片唾 | 久久精品国产一区二区三区不卡 | 五月婷久久 | 最近中文字幕视频国语中文字幕 | 中国黄色毛片 | 欧美性生交xxxxx久久久 | 在线成人免费看大片 | 你懂的手机在线视频 | 永久在线| 亚洲第一页乱 | 97国产蝌蚪视频在线观看 | 亚洲一级高清在线中文字幕 | 波多野野结衣1区二区 | 日韩亚洲综合精品国产 | 毛片在线视频 | 欧美激情精品久久久久 | 免费一级特黄特色大片在线 | 亚洲已满18点击进入在线观看 | 欧美a一片xxxx片 | 天天躁夜夜躁狠狠躁2023 | 日本国产一区二区三区 | 国产一级特黄全黄毛片 | 国产 欧美 日韩在线 | 最近免费手机中文字幕3 | 看中国国产一级毛片真人视频 | 国产精品久久久久久一区二区三区 | 99精品欧美一区 | 精品午夜寂寞黄网站在线 | 亚洲一区免费看 | 亚洲成a人片在线播放观看国产 | 亚洲视频一区二区三区 |