• 方案介紹
    • 第14章-手機(jī)遙控功能
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

第14章-藍(lán)牙遙控小車 手把手做藍(lán)牙APP遙控小車 藍(lán)牙串口通訊講解

2024/06/21
2980
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

聯(lián)系方式.txt

共1個(gè)文件

本文講解手機(jī)藍(lán)牙如何遙控小車,如何編寫串口通信指令

第14章-手機(jī)遙控功能

我們要實(shí)現(xiàn)藍(lán)牙遙控功能,藍(lán)牙遙控功能要使用:1.單片機(jī)的串口、2.藍(lán)牙通信模塊

所以我們先調(diào)試好:單片機(jī)的串口->藍(lán)牙模塊->接到一起聯(lián)調(diào)

在這里插入圖片描述

14.1-電腦控制小車

完成功能:電腦連接單片機(jī)串口三 控制小車前進(jìn)后退

先看原理圖

通過(guò)原理圖可以看出這是使用的串口3 在使用的時(shí)候注意把跳線帽,跳線到藍(lán)牙通信位置
在這里插入圖片描述

打開初始化軟件

在這里插入圖片描述
在這里插入圖片描述

生成代碼

在main 定義全局變量

uint8_t g_ucUsart3ReceiveData;  //保存串口三接收的數(shù)據(jù)

開啟串口三中斷接收
在這里插入圖片描述

  HAL_UART_Receive_IT(&huart3,&g_ucUsart3ReceiveData,1);  //串口三接收數(shù)據(jù)

usart.c 重新實(shí)現(xiàn)串口中斷回調(diào)函數(shù)

在這里插入圖片描述

然后我們可以在中斷回調(diào)函數(shù)里面中編寫遙控命令控制邏輯了

在這里插入圖片描述

//串口接收回調(diào)函數(shù)
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
	if( huart == &huart3)//判斷中斷源
	{
		if(g_ucUsart3ReceiveData == 'A') motorPidSetSpeed(1,1);//前運(yùn)動(dòng)
		if(g_ucUsart3ReceiveData == 'B') motorPidSetSpeed(-1,-1);//后運(yùn)動(dòng)
		if(g_ucUsart3ReceiveData == 'C') motorPidSetSpeed(0,0);//停止
		if(g_ucUsart3ReceiveData == 'D') motorPidSetSpeed(1,2);//右邊運(yùn)動(dòng)	
		if(g_ucUsart3ReceiveData == 'E') motorPidSetSpeed(2,1);//左邊運(yùn)動(dòng)
		if(g_ucUsart3ReceiveData == 'F') motorPidSpeedUp();//加速
		if(g_ucUsart3ReceiveData == 'G') motorPidSpeedCut();//減速
		
		HAL_UART_Receive_IT( &huart3, &g_ucUsart3ReceiveData, 1);//繼續(xù)進(jìn)行中斷接收
	}
}

在usart.c中聲明外部變量

extern uint8_t g_ucUsart3ReceiveData;  //保存串口三接收的數(shù)據(jù)

然后我們更改一下 主函數(shù)內(nèi)容,把PID紅外循跡代碼注釋掉,然后我們?cè)黾哟谌妮敵?,以便我們后面觀察數(shù)據(jù)。
串口不定長(zhǎng)輸出
我們把轉(zhuǎn)速等信息都可以顯示在OLED上,那么如何通過(guò)串口輸出那?

在這里插入圖片描述

	sprintf((char *)Usart3String,"V1:%.2fV2:%.2frn",Motor1Speed,Motor2Speed);//顯示兩個(gè)電機(jī)轉(zhuǎn)速 單位:轉(zhuǎn)/秒
	HAL_UART_Transmit(&huart3,( uint8_t *)Usart3String,strlen(( const  char  *)Usart3String),50);//阻塞式發(fā)送通過(guò)串口三輸出字符 strlen:計(jì)算字符串大小
	
	sprintf((char *)Usart3String,"Mileage%.2frn",Mileage);//計(jì)算小車?yán)锍?單位cm
	HAL_UART_Transmit(&huart3,( uint8_t *)Usart3String,strlen(( const  char  *)Usart3String),50);//阻塞式發(fā)送通過(guò)串口三輸出字符 strlen:計(jì)算字符串大小
	
	sprintf((char *)Usart3String,"U:%.2fVrn",adcGetBatteryVoltage());//顯示電池電壓
	HAL_UART_Transmit(&huart3,( uint8_t *)Usart3String,strlen(( const  char  *)Usart3String),50);//阻塞式發(fā)送通過(guò)串口三輸出字符 strlen:計(jì)算字符串大小	
	HAL_Delay(5);

把之前PID初始化時(shí)候速度PID目標(biāo)值改成0
在這里插入圖片描述
然后我們測(cè)試

硬件連接

我們現(xiàn)在使用USB-TTL連接串口三,單片機(jī)串口三與電腦通信(底板不需要插入藍(lán)牙)
在這里插入圖片描述
然后打開軟件

發(fā)送指令小車就會(huì)對(duì)應(yīng)運(yùn)動(dòng)

在電腦串口軟件查看輸出信息、發(fā)送 指令控制小車運(yùn)動(dòng)
在這里插入圖片描述

14.2-手機(jī)藍(lán)牙控制小車

功能:藍(lán)牙遙控小車前進(jìn)、后退、停止、左右轉(zhuǎn)、加速、減速、手機(jī)顯示數(shù)據(jù)

藍(lán)牙模塊和電腦通信

藍(lán)牙模塊-硬件介紹

使用:HC-05 主從機(jī)一體藍(lán)牙串口透?jìng)髂K

注意: 供電3.6V-6V(最好5V)

引腳順序 VCC GND TXD RXD
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
先調(diào)試藍(lán)牙模塊-設(shè)置波特率

如圖先把藍(lán)牙模塊通過(guò)USB-TTL模塊相連接,然后
在這里插入圖片描述
如果反復(fù)測(cè)試不能進(jìn)入AT模式,可能是新版藍(lán)牙模塊,
在這里插入圖片描述

  1. 先連接好藍(lán)牙模塊的幾根線,然后按住藍(lán)牙模塊的按鍵
  2. 然后連接電腦,然后幾秒后藍(lán)牙小燈慢閃,說(shuō)明進(jìn)入AT模式
  3. 然后串口助手通過(guò)38400發(fā)送設(shè)置指令:AT+UART=115200,0,0
  4. 然后收到OK數(shù)據(jù),說(shuō)明設(shè)置成功。

這個(gè)是設(shè)置波特率截圖
在這里插入圖片描述
5. 然后重新拔插藍(lán)牙模塊(不用按按鍵)

  1. 在手機(jī)系統(tǒng)藍(lán)牙配對(duì)HC-50 密碼1234
  2. 串口助手設(shè)置波特率115200,然后打開手機(jī)APP發(fā)送任意內(nèi)容測(cè)試

這個(gè)是后面通信測(cè)試截圖
在這里插入圖片描述
8. 設(shè)置按鍵-按照代碼設(shè)置按下發(fā)送的數(shù)據(jù)
9.在這里插入圖片描述
在這里插入圖片描述

藍(lán)牙模塊連接單片機(jī)

把藍(lán)牙插入到底板、跳線帽選擇藍(lán)牙通信
在這里插入圖片描述
按下不同按鈕小車會(huì)對(duì)應(yīng)控制

聯(lián)系:Q,1930299709

  • 聯(lián)系方式.txt
    下載

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
XUL516100.000000I 1 Integrated Device Technology Inc LVDS Output Clock Oscillator
$49.37 查看
HFBR-2522ETZ 1 Foxconn Receiver, 1Mbps, Through Hole Mount, ROHS COMPLIANT, 6 PIN
$17.11 查看
ABM8AIG-8.000MHZ-1Z-T 1 Abracon Corporation Parallel - Fundamental Quartz Crystal, 8MHz Nom, SMD, 4 PIN

ECAD模型

下載ECAD模型
$0.64 查看

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!