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