个人项目——基于HC-05的主从机指纹安防系统

        此项目是我为人代做的项目,现在给大家讲解一下原理。

        客户的要求是主机设置AS608指纹识别模块,从机设置按键与LED。从机按下按键,主机开启录指纹模式,手指放上之后自动将指纹录入指纹库,同时LED闪烁一次;主机在刷指纹时,如果指纹正确,从机的LED常亮5s,如果不正确,则不亮。使用HC-05蓝牙模块进行主从机的通信。

        点击下载代码

        首先介绍如何配置HC-05自动配对连接:这是我用的模块


        这种模块进入AT模式有两种方式,一种是EN脚接高电平,另一种是按住正面的按键。有的模块没有正面的按键,所以只能通过EN脚拉高进入AT模式。

        使用USB TO TTL模块对模块进行配置


        AT模式波特率38400,但是有的不是这个波特率,像正点原子的HC-05模块AT模式波特率是9600,但是配置完后进入正常通信模式,波特率都是38400,这时候EN脚悬空(就是把线拔下来)或者松开按键,不要在配置程序的时候弄错了。

        再就是通过模块上的灯判断模式,快速闪烁是没有配对,一秒闪烁一次是AT模式,两秒一次是配对模式

        配置步骤

1、 [AT模式]两个蓝牙模块的EN接VCC,或者按住按键,上电后即进入AT指令模式,都用USB转TTL模块连接到电脑的USB接口。(笔者这里是蓝牙模块的EN连接3.3V)


2、[打开串口调试助手]开启2个串口调试窗口,一个打开蓝牙A的COM3口,一个打开蓝牙B的COM7口。(默认波特率一般为38400,数据位为8,停止位为1)


3、[恢复A默认设置]串口调试助手A,端口COM3,将蓝牙A恢复默认设置:AT+ORGL\r\n (\r\n即回车、换行,或者在串口调试助手上输入AT+ORGL再按下回车即可)

4、[设置A配对码]串口调试助手A,配置蓝牙A的配对码:AT+PSWD=1234\r\n,(蓝牙A与蓝牙B的配对码相同,这样才能成功配对)


5、[设置A主模式]串口调试助手A,将蓝牙A配置为主机模式:AT+ROLE=1\r\n


6、[恢复B默认设置]串口调试助手B,将蓝牙B恢复默认设置:AT+ORGL\r\n


7、[设置B配对码]串口调试助手B,配置蓝牙B的配对码与蓝牙A一致:AT+PSWD=1234\r\n


8、[设置B从模式]串口调试助手B,将蓝牙B配置为从机模式:AT+ROLE=0\r\n


9、[查询B地址]串口调试助手B,查询蓝牙B的地址:AT+ADDR?\r\n (如:+ADDR:98d3:37:90efca)


10、[蓝牙A绑定蓝牙B]串口调试助手A,蓝牙A绑定蓝牙B地址: AT+BIND=21,13,13971\r\n(注意把地址的冒号换成逗号)


11、[常规工作模式]2个模块的EN引脚都接地或悬空,重新上电后进入常规工作模式,自动完成配对。之后,串口调试助手A和串口调试助手B就能互传数据了。(笔者这里是直接将EN脚置空)


        配置完蓝牙之后,只要把蓝牙跟单片机的串口1连接上,就可以按照平时用串口的方法进行通信了,剩下的也就简单了

        我把和最重要的代码粘过来大家看一下

主机

while(1)
{
	if(USART_RX_BUF[0] == 0x02)
	{					   
		Add_FR();		//录指纹	
			
	}
	if(PS_Sta)	 //检测PS_Sta状态,如果有手指按下
	{
		press_FR();//刷指纹			
	}				 
} 

从机

 	while(1)
	{
		if(WK_UP == 1)
		{
			delay_ms(150);
			//printf("OK\r\n");
			LED0 = 0;	
			USART_SendData(USART1, 0x02);//向串口1发送数据
			while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
			USART_RX_STA=0;	
			delay_ms(500);			
		}
		
		if(USART_RX_BUF[0] == 0x01)
		{					   
			LED0 = 0;
			delay_ms(1000);
			
		}
		USART_RX_BUF[0]=0x00;
		USART_RX_STA=0;
		LED0 = 1;
		delay_ms(1000);
	}

        怎么样,是不是不难,硬件的连接我也发一下

        主机


        从机

        按键;PA0

        LED:PB5

        至此,教程结束,谢谢大家,也欢迎大家关注我的个人技术与资源分享公众号“linkutures”


        

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值