关于蓝牙模块的简易小车(基于51单片机)

关于蓝牙模块的简易小车(基于51单片机)


很早之前玩过一次蓝牙模块,但最近在进行项目制作的时候对于蓝牙模块的使用有些生疏,所以写下自己学习蓝牙模块的一些心得,作为学会总结的第一步。


一、HC-05蓝牙模块及其引脚连接

在这里插入图片描述

二、使用步骤

1.蓝牙模块配对

首先通过蓝牙模块与USB转TTL模块连接RXD-TXD,TXD-RXD,VCC-VCC,GND-GND

将蓝牙模块和USB转TTL模块相连后,按住蓝牙模块上的按键,将USB转TTL模块插入电脑的USB口,松开蓝牙模块上的按键,此时蓝牙会慢闪,即进入了AT模式(即调试模式)

然后用串口调试助手进行配对(串口助手:链接:https://pan.baidu.com/s/1-_Lv6FH7s4RTp-QTyfeBYQ
提取码:wewt )
。
1.选择正确的COM口,波特率设为38400(固定的)
2.校验位无,数据位8,停止位1,点击打开串口(主要选择正确的com端口,其他填空默认)
3. 正确打开串口后,点击左侧AT指令,若接收窗口返回ok,则该蓝牙正常进入了AT模式,可以继续进行下面的配置。
4. 设置从机,若接收窗口返回ok,则设置成功。
5. 点击设置模式后会自动设为模式1,由于我们需要蓝牙一对一传输,所以将右侧发送区AT+CMODE=1改为AT+CMODE=0,注意末尾有回车,点击手动发送,即可改为模式0
6. 接着点击设置波特率,默认9600,如需更改,只需将9600改为需要的即可,同样发送区末尾需要有回车,点击手动发送。
7. 可以设置名称,这样连接蓝牙模块的时候好找。
8. 其他的可以根据自己需要进行设置。

2.设置串口

在这里插入图片描述
在这里插入图片描述

相关代码

void USART()
{	
	SCON=0X50;	//SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志		
	TMOD=0X20;			
	PCON=0X00;		
	TH1=0Xfd;		    
	TL1=0Xfd; //波特率为9600算出来的fd,可以使用单片机小精灵进行计算初值,有需要单片机小精灵的可以留言获取
	TR1= 1;					
	ES = 1;        
    EA = 1;         
}
void USART_Int(void) interrupt 4
{
	uchar receive_data;	
	EA = 0;
	if(RI == 1) 
	{ 
		RI=0; 
		IN1=0;
		IN2=0;
		IN3=0;
		IN4=0;
		receive_data = SBUF;
		switch(receive_data)
		{
			case ('1'):
				forward();break;
			case ('2'):
				back();break;
			case ('3'):
				left();break;
			case ('4'):
				right();break;
			case ('0'):
				stop();break;
		}			
	}		
		EA = 1;
}

3.小车驱动部分代码

#include<reg52.h>

#define uchar unsigned char
#define uint  unsigned int
//自己定义引脚
sbit IN1 = P1^4; //为1 左电机正转
sbit IN2 = P1^3; //为1 左电机反转
sbit IN3 = P1^2; //为1 右电机反转
sbit IN4 = P1^1; //为1 右电机正转

 void stop()
{
	IN1=0;
	IN2=0;
	IN3=0;
	IN4=0;
}

void forward()
{
	IN1=1;
	IN2=0;
	IN3=1;
	IN4=0;  
}

void back()
{
	IN1=0;
	IN2=1;
	IN3=0;
	IN4=1;	
}

void left()
{
	IN1=0;
	IN2=1;
	IN3=1;
	IN4=0;
}

void right()
{
	IN1=1;
	IN2=0;
	IN3=1;
	IN4=0;
	
}

4.主函数调用

void main()
{
	USART();	
	while(1);	
}

5.手机控制端配对蓝牙模块

可以在应用市场下载蓝牙调试器,好用也方便

找到自己设置蓝牙模块的名称

在这里插入图片描述
然后点击图中的按钮进行设置,根据代码编写的发送串口的值,例如上面代码显示,1,2,3,4,5发送后各表示不同的功能。
在这里插入图片描述
因为我们按钮按下与松开发送值一样,则设置一样的值就行。

在这里插入图片描述

三、小结

通过对蓝牙模块的学习,让我明白了知识要温故而知新,学一遍学会了只是暂时性的,要时常往回看,不然新的知识会掩盖之前学的不牢的知识,而且要善于总结!!!蓝牙模块首先要通过串口助手进行初始化设置,然后通过蓝牙调试器进行与蓝牙配对,根据自己所编写的代码对按键进行设置值,代码编写的时候要理解串口通信的功能,不然照抄不理解代码这么写的话最后面还是会遗忘。

首次以博客的形式来记录自己的一些所学,写的有些勉强,还有待提高,有不足的地方大家也可以指出。


						 ***学习从零开始,到无穷结束***

  • 8
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值