自己動手做個智慧型小車(7)
——整入藍芽裝置
寫個程式小車可以自己跑了,但沒法遙控啊,得給它安個通訊裝置。目前比較方便的就是藍芽了,有了藍芽後,就可以與手機、電腦來進行通訊,很是方便。
微控制器要發藍芽訊號,那就只有採用藍芽模組了。
本系統中採用了hc-06無線藍芽串列埠透傳模組,樣子如下:
採用這個,主要是因為簡單,只要4個引腳,電源正負極,以及串列埠的輸入輸出口即可,所以看好了微控制器的串列埠引腳:
p3.6 p3.7然後直接連線上即可。
為了連線方便,我們可以在板子上焊乙個接外掛程式,如下圖:
然後把藍芽模組的引腳拉垂直,然後反插上去即可:
好了,這下硬體就連線上了。接下來就是配置軟體和除錯了。
這裡關於串列埠程式編寫就不多說了,網上資料很多,就直接上程式了:
建乙個bluetooth.c檔案:
#include "bluetooth.h"
#include "common.h"
voidsend_char(unsignedchar*str);
/*本實驗注意事項:
1. 定時器
2作為波特率發生器是
16位自動重灌,而定時器
1作為波特率發生器是
8位自動重灌,
定時器2
使用rcap2h
去重灌th2
,用rcap2l
去重灌tl2
;定時器
1是使用
th2去重灌
tl2。
2. 定時器
2作為波特率發生器,工作在模式
1和模式3,
波特率=
振盪期頻率
/[32×(0xffff-)],
指rcap2h
作為高8
位、rcap2l
作為低8
位構成的
16位無符號整數。
*/uchar flag;
voidinitbluetooth()
}
charbuf[20];
unsignedcharindex;
//串列埠接收中斷函式
voidserial()interrupt 4//using 3
else
ri=0;//
軟體ri=0
}
}
voidsend_char(unsignedchar*str)
}
這個程式對外有兩個個介面
initbluetooth()初使化工作
receivecommand() 這個函式需要在外定義,然後藍芽處理程式中會自動在收到命令後呼叫,並把這個函式的返回字串,再回發回去。同時接收字串,以\0結束。
ok,這裡我們需要在main.c檔案中定義一下該函式,並寫入測試程式:
voidmain()
}
unsignedchar*receivecommand(unsignedchar*cmd)
這個測試程式比較容易,就是將收到的命令,顯示在小車的lcd屏上,然後返回ok字串。
好了,如何測試呢,那當然是先用電腦咯,
首先,現在小車是乙個藍芽裝置了,所以在電腦上新增該藍芽裝置,並輸入預設密碼
然後在電腦的裝置管理中,就可以看到這個藍芽裝置了,並作為串列埠使用著,記下這個com口號。
開啟串列埠偵錯程式:
選擇對應的com口,在傳送裡輸入hello car 然後點手動傳送,在小車lcd屏上就看到字元了,同時在串列埠偵錯程式上面的接收輸入框中,看到ok。說明程式就通了。
如果沒看到,就要查查了,多數原因是,藍芽的接收輸入與微控制器的接反了。
如果沒有反,也可以將輸入輸出短路,然後再測,應該是收到內容與傳送內容一樣。
好了,在調通通訊後,就要寫一下控制程式了,即把
receivecommand
函式中的內容換掉即可。
這裡為了方便,我們採用這樣的格式:car:l+100r-020! 這一句中就可以直接控制小車的兩個輪子了,速度、方向。
程式改造如下:
unsignedchar*receivecommand(unsignedchar*cmd)
returncmd;
}
好了,這段程式燒寫進去後,就說明小車上的程式以及硬體都完工了,就差個手機端控制了。
同時,為測試這些,同樣可以用串列埠偵錯程式來向其傳送這些命令。
自己動手做個智慧型小車 2
自己動手做個智慧型小車 2 基本布局及電源部份 上一章中,我們邏列出所有需要的零件,接下來就是我們開始拼裝的時候了。電路圖。沒有,沒有完整的,我們就一步步做吧,純手工,焊到哪就是哪,不通了就飛線 注 正常電路從板子下面走,但如果實在有交叉過不去時,就可以在上面用一導線直接相聯,叫飛線,正式desig...
自己動手做爬蟲7
深入物件與類import sys class player def init self,uid,name,status 0,level 0 self.uid uid self.name name self.status status self.level level class player2 ob...
自己動手做個DIY波士頓機器狗
我想來整個diy波士頓機器狗。中文的介紹 軟體安裝 硬體製作 用樹莓派diy波士頓機器狗,幫你省下50萬 教程開源,人人皆可上手 軟體部分在執行ubuntu 16.04的樹莓派3b計算機上實現。所以首先,需要準備乙個價值人民幣230元左右的樹莓派3b開發板。控制部分的元件,包括 不到30元,介面為i...