?

基于Ardunio和Android的藍牙遙控車

2016-06-08 13:16劉力
科技視界 2016年14期

劉力

【摘 要】利用Arduino嵌入式開發板實現基于藍牙串口的通信遠程遙控小車。

【關鍵詞】Arduino;Android;Bluetooth;UIUD

1 概述

本文描述了,如何基于Arduino和Android之間藍牙通信的遠程遙控車,并且詳細的描述了技術實現。

1.1 Ardunio

Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。由一個歐洲開發團隊最早于2005年冬季開發。其成員包括Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis和Nicholas Zambetti。Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進制文件,燒錄進微控制器。對Arduino的編程是利用 Arduino編程語言 (基于Wiring)和Arduino開發環境(基于 Processing)來實現的?;贏rduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟件,他們之間進行通信 (比如 Flash, Processing, MaxMSP)來實現。

1.2 BlueTooth

藍牙一種無線技術標準,可實現固定設備、移動設備和樓宇個人域網之間的短距離數據交換(使用2.4—2.485GHz的ISM波段的UHF無線電波)。藍牙技術最初由電信巨頭愛立信公司于1994年創制。藍牙使用跳頻技術,將傳輸的數據分割成數據包,通過79個指定的藍牙頻道分別傳輸數據包。每個頻道的頻寬為1 MHz。藍牙4.0使用2 MHz 間距,可容納40個頻道。藍牙是基于數據包、有著主從架構的協議。一個主設備至多可和同一微微網中的七個從設備通訊。所有設備共享主設備的時鐘。分組交換基于主設備定義的、以312.5μs為間隔運行的基礎時鐘。兩個時鐘周期構成一個625μs的槽,兩個時間隙就構成了一個1250μs的縫隙對。在單槽封包的簡單情況下,主設備在雙數槽發送信息、單數槽接受信息。而從設備則正好相反。封包容量可長達1、3、或5個時間隙,但無論是哪種情況,主設備都會從雙數槽開始傳輸,從設備從單數槽開始傳輸。

1.3 Android智能手機

Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨后Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布于2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等,全世界采用這款系統的設備數量已經達到10億臺。

2 Arduino實現

該系統采用Arduino作為嵌入式的開發主板,基于Android手機的App提供遠程遙控功能,使用藍牙作為通信數據交換的承載。當Ardunino收到數據后,翻譯成對應的馬達驅動信號,去驅動相關部件。由于Ardunio的特性,它的驅動模塊像積木一樣的是層層搭建,所以整體硬件層次從上到下依次疊加,分別是:藍牙模塊,傳感器模塊,馬達驅動擴展板,Arduino母板

2.1 馬達驅動板

我們使用 L298 擴展板作為馬達驅動板,由于我們使用的9V的外置電源,我們驅動2個馬達,需要提供穩定的電源與電壓

2.2 傳感器擴展版

由于馬達驅動板遮蓋住了所有的串口接口,我們不得不在馬達驅動板的上層覆蓋一個傳感器擴展版版,來連接相應的外置串口設備,具體功能如下:

Arduino的端口擴展成3P接口,直插3P傳感器模塊。14個數字口(6個PWM口),6個模擬口。

豐富的通信和存儲模塊接口。中部直插Xbee封裝的藍牙、WIFI和Xbee通信模塊。旁邊設置了普通藍牙模塊、APC和SD卡的擴展接口。

外部電源擴展,為你的Arduino作品提供持久續航。擴展板角落接線柱為主控器和擴展板供電,中部接線柱為數字口上的舵機供電。

2.3 藍牙模塊

我們使用JY-MCU作為藍牙模塊,該模塊提供了藍牙串口服務和內置的藍牙協議,只需使用串口,按照對應的規則連接藍牙模塊,并使用基于藍牙串口通信協議。

3 相關功能代碼

3.1 Arduino藍牙,馬達驅動代碼

4 試驗結果

按照該設計方案,能夠達到通過android智能手機,基于藍牙通信,可以完全控制電機實現小車的各種方向的行走。

5 結束語

本文給出了,一個基于Android手機藍牙模塊連接Arduino藍牙的遠程控制遙控車的應用,相信隨著Arduino電子積木的興起,相有越來越多的基于Arduino的應用涌現出來。

[責任編輯:王偉平]

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合