曹素紅
基于Arduino平臺的藍牙智能小車開發(fā)
曹素紅
(北京信息職業(yè)技術(shù)學(xué)院,北京 100015)
藍牙控制具有簡單可靠等特點,因此在智能小車運動控制中具有很高的應(yīng)用價值。介紹了一款利用Arduino平臺作為主控系統(tǒng),采用藍牙模塊進行無線控制的智能小車。重點闡述了此藍牙小車的開發(fā)流程及難點。
Arduino平臺;藍牙;智能小車;電路板
Arduino控制板具有豐富的接口資源,用其設(shè)計開發(fā)智能小車的控制電路十分方便。Arduino是一個開源、擁有簡單輸入/輸出(I/O)的電路板,為了方便使用,采用簡單的IDE集成開發(fā)環(huán)境,程序通過USB而非串行端口實現(xiàn),控制簡單、方便、快捷。此外,Arduino控制板還具有資源豐富、控制功能強大、可位尋址操作、價格低廉等優(yōu)點。藍牙控制具有簡單可靠等特點,因此,采用Arduino控制板結(jié)合藍牙模塊是一種較為理想的智能小車運動控制方案。
藍牙智能小車硬件結(jié)構(gòu)如圖1所示,從下向上依次為:Arduino控制板、298電機驅(qū)動板、含藍牙模塊的Arduino擴展板。這三個電路板從底層單片機到中層298驅(qū)動電路板,再到頂層含藍牙模塊的擴展板,相互配合,協(xié)調(diào)動作。
圖1 藍牙智能小車硬件結(jié)構(gòu)
藍牙智能小車系統(tǒng)的工作流程如圖2所示,手機端與小車端藍牙程序互相配合,手機按鍵具體指示小車運動動作,Arduino控制板依據(jù)接收到的藍牙命令進行具體操作。
圖2 工作流程
藍牙智能小車所采用的藍牙模塊是OPENJUMPER模組,如圖3所示,可通過AT模式改寫其參數(shù)。適用于Arduino與PC、手機等設(shè)備的無線連接,連接成功后即可控制小車完成各種動作。
圖3 OPENJUMPER藍牙模塊
具體程序如下:
void loop()
{
val = Serial.read();
if (-1 != val) {
switch(val)
{
case 'c':Serial.println("testOk");break;//pc端發(fā)送字符c,若返回testOk,說明連接正常
case 'w':motosp(200,200);Serial.println("testOk");break;
//按下w鍵,小車直行
case 's':motosp(-200,-200);Serial.println("testOk");break;
//按下s鍵,小車后退
case 'q':motosp(100,200);Serial.println("testOk");break;
//按下q鍵,向前左轉(zhuǎn)
case 'e':motosp(200,100);Serial.println("testOk");break;
//按下e鍵,向前右轉(zhuǎn)
case 'a':motosp(-100,-150);Serial.println("testOk");break;
//按下a鍵,向后左轉(zhuǎn)
case 'd':motosp(-150,-100);Serial.println("testOk");break;
//按下d鍵,向后右轉(zhuǎn)
case 't':motosp(0,0);Serial.println("testOk");break;
}
delay(100);
}
else motosp(0,0);//未接收到數(shù)據(jù)時,小車停止
}
利用網(wǎng)頁版的“app inventor”APP設(shè)計平臺設(shè)計此項目的遙控操作軟件,軟件界面如圖4所示。
圖4 app inventor界面
采用該平臺進行藍牙功能APP程序設(shè)計的優(yōu)點為:①收發(fā)字符快速,調(diào)試程序方便;②可以連續(xù)控制小車前后左右轉(zhuǎn)動,靈活方便;③可以自由調(diào)整APP用戶的條件與需求;④連接穩(wěn)定,能滿足小車的運行流暢;⑤“app inventor”APP適合于初高中以上學(xué)習(xí)基礎(chǔ)的人群學(xué)習(xí)掌握。
小車接收端藍牙模塊和手機發(fā)送端藍牙模塊互相配合,小車藍牙模塊接收到手機藍牙模塊的信號,驅(qū)動相應(yīng)電路,完成小車的前進、后退、左右轉(zhuǎn)等基本動作。
最后生成的智能小車手機端遙控界面如圖5所示,通過這個界面可實現(xiàn)與智能小車進行藍牙傳輸?shù)南嚓P(guān)交互動作。
圖5 手機端操作界面
本文闡明了基于Arduino平臺的藍牙智能小車的開發(fā)技術(shù)要點。鑒于藍牙控制簡單可靠,而Arduino控制板適用性強等特點,利用Arduino平臺和藍牙模塊可以比較便捷地開發(fā)設(shè)計智能運動小車。
[1]陳呂洲.Arduino程序設(shè)計基礎(chǔ)[M].2版.北京:北航出版社,2015.
TP23
A
10.15913/j.cnki.kjycx.2019.23.008
2095-6835(2019)23-0022-02
〔編輯:張思楠〕