張松林
(南京機電職業技術學院,211135)
Arduino控制器和手機藍牙交互通信的方法和實現
張松林
(南京機電職業技術學院,211135)
本文介紹Arduino控制器外接藍牙與手機手機相互通信,可以實現手機軟件通過app軟件經過藍牙來控制和顯示控制器的內容。該技術可以應用于各種控制裝置和設備,比如智能家居等。
Arduino;藍牙
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的arduino板)和軟件(arduino IDE). Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進制文件,燒錄進微控制器 對Arduino的編程是利用 Arduino編程語言和Arduino開發環境來實現的。基于Arduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟件,他們之間進行通信來實現。也可以用手機藍牙和arduino板進行通信。如何實現手機和目前應用較廣的控制裝置聯系起來并能可控可顯示或監視那?這就是本文要解決的。
該設計的硬件總體如圖1

圖1 硬件框圖
控制器與手機通信時通過藍牙模塊來實現的,手機(安卓系統)里下載安裝“bluetooth spp”類型軟件,為了方便調試,加入一個LED用起顯示手機控制信號能否控制LED,此LED接于arduino控制板12腳。
軟件部分主要是arduino控制板與藍牙模塊通信,為了調試,特寫簡單通信程序代碼,代碼如下:
char val; //定義變量
int ledpin=12; //定義控制板12腳
void setup() //啟動通信,通信波特率為9600
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT); //定義12腳為輸出,控制LED(高電平有效)
}
void loop() //主循環程序
{
val=Serial.read(); //調用藍牙庫,讀藍牙給的信息
if(val=='a')
{
digitalWrite(ledpin,HIGH); //藍牙的信息是字符“a”時點亮LED
Serial.println("LED ON!"); //藍牙的信息是字符“a”時發送數據給藍牙,手機接收到并軟件界面顯示”LED ON!”//
}
else if(val=='b')
{
digitalWrite(ledpin,LOW); //藍牙的信息是字符“b”時LED燈熄滅
Serial.println("LED OFF!"); //藍牙的信息是字符“b”時發送數據給藍牙,手機接收到并軟件界面顯示”LED OFF!”//
} }
3.1 程序調試
將程序下載到板子上,先用arduino IDE軟件進行測試,看看結果,如果結果如下就可以確定程序沒問題,測試步驟如下:
●發送"a",串口監視器返回"LED ON!",同時可看到板載LED點亮。表示通信正常,監視器顯示如圖2
●同上操作發送“b”, 串口監視器返回"LED OFF!",同時可看到板載LED點熄滅。
3.2 藍牙調試
搭建好硬件后,用安卓手機下載“bluetooth spp”軟件,搜索連接藍牙,輸入藍牙默認密碼配對并連接藍牙模塊,后打開藍牙串口助手軟件,軟件里輸入“a”點擊發送后看到藍牙軟件界面里有LED ON!和LED燈被點亮。如圖3:
同樣的方式在輸入“b”就關閉LED燈并顯示LED OFF!了,到此調試完成。
其實手機通過藍牙和控制板通信比較簡單,難點是控制板和藍牙的通信,這是一個非常復雜的過程,必須要經驗豐富的高級電子工程師來編寫,但有了Arduino后,我們可以通過直接調用藍牙庫就可以實現了。所以對于剛畢業的學生或電子開發新手,該控制板是一個不錯選擇,它能DIY或開發出各種功能電子設備。
崔才豪,張玉華,楊樹財等.利用Arduino控制板的光引導運動小車設計[J].自動化儀表,2011,32(9):5-7,11. DOI:10.3969/j.issn.1000-0380.2011.09.002.
And the realization method of the Arduino controller and the mobile phone Bluetoothcommunication.
Zhang Songlin
(Nanjing Career Technical College,211135)
This paper introduces a Arduino controller connected with the Bluetooth mobile phone communication between mobile phone software,can be achieved through the app software through the Bluetooth controller to control and display the contents of the. The technology can be applied to various control devices and equipment,such as intelligent home.
Arduino;bluetooth

圖2 串口監視器界面

圖3 軟件顯示