一种寻物系统设计

一种寻物系统设计

该设计的目的是可以让用户说出物品的名字,该物品便会进行响应,从而让用户找到物品的所在位置,同时也可以通过蓝牙使用APP来下发指令,让物体进行响应。
采用32单片机与51单片机作为主控,若采用模块化的方式进行实现可以使用stm32核心以及LD332语音识别模块进行实现,其中stm32与蓝牙模块进行通信接收上位机的指令,语音识别模块的51芯片与stm32进行通信,当stm32接收到蓝牙信号时会反转PB10引脚的电平,51判断引脚电平的变化,从而去亮灯与驱动蜂鸣器让物体响起来。
同时语音识别模块会根据拨码开关的设置状态进行识别响应,比如改设计的拨码开关是4位,按照二进制2^4=16,有16种状态,其中第一种作为一级指令,剩余15种作为物品的类型。全部都是0的时候作为一级指令,对着模块喊“寻物”,接值将拨码调至0001,喊“钥匙”,识别成功会亮灯同时蜂鸣器响起,依次类推调整拨码开关换不同的物品。具体的指令设置如下:

	uint8 code sRecog[DATE_A][DATE_B] =
		{
			"xun wu",
			"yao shi",
			"qian bao",
			"yao kong qi",
			"xiao yuan ka",
			"shou ji",
			"shu biao",
			"men ka",
			"you pan",
			"bei zi",
			"yao xiang",
			"er ji",
			"ji shi ben",
			"cun qian guan",
			"dian nao",
			"xue ya ji"}; 

使用蓝牙与上位机进行通信,上位机APP只需要下发1即可,单片机中断的代码如下,APP的代码放在文章末尾的Github。

	if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断(接收到的数据必须是0x0d 0x0a结尾)
	{
		Res = USART_ReceiveData(USART1); //读取接收到的数据
		printf("收到数据:%c\r\n", Res);
		if (Res == '1')
		{
			GPIO_ResetBits(GPIOB, GPIO_Pin_10); //PB.10 输出低
			printf("收到正确的指令\r\n");
		}
	}

使用模块搭建完成设计的原理图设计如下:
在这里插入图片描述
实现的实物图如下,各项功能都达到预期效果。
在这里插入图片描述

同时该设计也可以集成进行设计,同样按照该思路重新设计电路板,原理图如下:
在这里插入图片描述
代码及其他资料访问,进去需全点star。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值