聲明:該設(shè)計(jì)資料轉(zhuǎn)自lb8820265網(wǎng)友分享,僅供學(xué)習(xí)參考,不可用于商業(yè)用途。
手機(jī)遙控藍(lán)牙平衡小車概述:
藍(lán)牙平衡玩具小車,具有的功能有:手機(jī)APP虛擬遙感控制模式,自動(dòng)行走避障模式,碰撞自動(dòng)后退,倒下自動(dòng)停止,預(yù)警模式,跳舞模式,說話,語音表情,壓強(qiáng)播報(bào),溫度播報(bào),濕度播報(bào),前方障礙物距離播報(bào),PC上位機(jī)無線調(diào)參,示波器顯示,3D姿態(tài)顯示。是集趣味性,智能性,易操作性,可研究性于一體的藍(lán)牙平衡小車。
視頻演示:
采用的硬件如下:
- 處理器: Nucleo STM32F411核心板
- 傳感器模塊: Nucleo IKS01A1(包括陀螺儀,加速度計(jì),磁力計(jì),溫度計(jì),濕度計(jì),壓強(qiáng)計(jì))
- 藍(lán)牙模塊: CC2541 藍(lán)牙4.0模塊
- 無線模塊: NRF24L01+模塊
- 電機(jī)驅(qū)動(dòng)模塊: BT6612模塊
- 測(cè)距模塊: 夏普2Y0A21紅外測(cè)距模塊
- 舵機(jī): SG90模擬舵機(jī)
- 語音模塊: SYN6658語音模塊
- 電池: 獅子11.1V 2200mAh
- 電源: LM2596電源模塊
- 電機(jī): 詩凱支架自帶,3530直流減速電機(jī)
- 光電編碼器: 電機(jī)自帶,13440線每輪轉(zhuǎn),AB相輸出
- 手機(jī): 魅族MX3
- 上位機(jī)接收端: MSP430G2553核心板
- 電腦: 這個(gè)隨意
整個(gè)系統(tǒng)的硬件拆解圖圖下圖所示:
整個(gè)系統(tǒng)可大致分為4個(gè)部分,分別是:小車部分,上位機(jī)接收機(jī),PC上位機(jī),安卓手機(jī)控制端。
4個(gè)部分的關(guān)系如下圖所示:
其中以平衡小車為中心,能將信息通過無線發(fā)送給上位機(jī)接收端,上位機(jī)接收端再將數(shù)據(jù)通過串口的形式發(fā)送給PC上位機(jī)。同時(shí)上位機(jī)亦可以發(fā)送調(diào)參與控制指令給上位機(jī)接收端,上位機(jī)接收端再將信息發(fā)送給平衡小車。安卓APP也能通過藍(lán)牙傳輸信息給CC2541模塊,將信息通過串口的形式發(fā)送給平衡小車進(jìn)行控制。
編寫的軟件如下:
- 小車: 采用IAR7.3編寫
- 上位機(jī)接收端: 采用CCS5.1編寫
- 上位機(jī): 采用VC6.0 MFC編寫
- 手機(jī)APP: 采用Android studio 1.2.2編寫
手機(jī)APP
之前的帖子已經(jīng)講了,如何實(shí)現(xiàn)藍(lán)牙4.0的收發(fā),那么接下來就是通信協(xié)議的制定與界面的編輯了,
下圖是手機(jī)APP的截圖:
PC上位機(jī)端
上位機(jī)采用VC6.0編寫,PC上位機(jī)主要是用來進(jìn)行參數(shù)調(diào)整、虛擬示波器顯示波形、3D姿態(tài)顯示。下圖是上位機(jī)截圖。采用MSComm串口控件進(jìn)行數(shù)據(jù)的發(fā)送與接收。能夠進(jìn)行端口掃描,并連接串口,實(shí)現(xiàn)數(shù)據(jù)發(fā)送,錯(cuò)誤顯示,實(shí)現(xiàn)了4個(gè)整形數(shù)字與4個(gè)浮點(diǎn)數(shù)的調(diào)整,并且能夠讀取系統(tǒng)的原始數(shù)據(jù),顯示發(fā)送狀態(tài),且能夠顯示信號(hào)強(qiáng)弱,同時(shí)能夠進(jìn)行示波器顯示,調(diào)節(jié)顯示間隔。
由于采用的是NRF24L01+帶數(shù)據(jù)的ACK模式進(jìn)行數(shù)據(jù)傳輸,所以上位機(jī)不發(fā)送數(shù)據(jù)的時(shí)候,小車并不會(huì)發(fā)送回來,所以上位機(jī)能夠掌握顯示數(shù)據(jù)的間隔。示波器采用的IPlot控件,能夠?qū)崿F(xiàn)4個(gè)數(shù)據(jù)波形顯示,且能夠讓任意一組數(shù)據(jù)顯示、實(shí)現(xiàn)軸的縮放、在頂端顯示數(shù)值。3D姿態(tài)顯示采用的是OpenGL庫,畫出小車模型,設(shè)置為半透明,能實(shí)時(shí)清晰的顯示小車的姿態(tài)。
PC上位機(jī)示波器顯示緊挨著3D姿態(tài)顯示親熱照!
藍(lán)牙平衡玩具小車全家福!