基于STM32单片机的蓝牙遥控语音控制老年轮椅车GSM位置定位报警系统设计

1、前言

        这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉小洪学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,小洪学长分享优质毕业设计项目,今天要分享的是基于STM32单片机蓝牙app遥控语音控制老年轮椅车GSM位置定位报警系统

2、简介

基于STM32单片机蓝牙app遥控语音控制老年轮椅车GSM位置定位报警系统

轮椅采用小车模型来设置,进行小车的底座搭建,结合传感器主要实现以下功能:(1)自动感知功能:采用人体传感器判断是否有人坐下,坐下后才能进行激活轮椅的运动状态。(2)自动避障功能:采用该红外传感器判断障碍物,当检测到障碍物的时候进行停止轮椅的运动状态,防止因为使用者操作不当和特殊情况产生的损失,保证安全性。(3)轮椅的行走控制功能:采用按键设置,控制轮椅的左转、右转、前进、后退、停止的控制;也可以通过语音来控制轮椅的运行状态,能够实现简单的语音控制,轮椅的行走、左转、右转、后退、停止等功能。(4)双陪护功能:采用手机端可以控制轮椅的紧急情况,运行状态设置。在遇到危险的时候,通过GSM模块和GPS定位,通过当前的定位来给紧急联系人发送求助消息。(5)无线通讯功能:采用蓝牙作为无线数据传输,当使用者和陪护人员在一起来但是有危险的情况下手机端进行控制轮椅的运动状态。(6)液晶显示屏:显示轮椅的当前工作状态,提示使用者能够正确操作,保证人身安全。

3、组成

本设计由STM32F103C8T6单片机最小系统+蓝牙app+gps定位模块+gsm+语音识别模块+oled显示+红外漫反射+按键电路+l298n驱动+小车底盘+电源电路组成。

4、实现效果

整体展示

采用按键设置,控制轮椅的左转、右转、前进、后退、停止的控制

5、硬件介绍

5.1、GSM模块简介

GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块具有发送SMS短信,语音通话,GPRS数据传输等基于GSM网络进行通信的所有基本功能。简单来讲,GSM模块加上键盘、显示屏和电池,就是一部手机。SIM900A是SIMCOM公司推出的一款高性能工业级 GSM/GPRS 模块, 该模块具有极高的性价比,在双频的市场中占大份额。 GSM_SIM900A模块采用高性能工业级GSM/GPRS模块:SIM900A,工作频段:GSM900/1800MHz。硬件设计在官方设计上加以优化,采用高效开关电源供电,SIM卡采用主流的卡座,质量更坚固。GSM_SIM900A模块在外围硬件的设计上参考了SIM900A 模块的硬件设计指南,对板子的电源、保护和抗干扰上做足了功夫。电源采用开关电源模块供电,电源利用效率高。

GSM传感器接口电路原理图

5.2、蓝牙模块简介

蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯。本蓝牙模块就是为了只能无线数据传输而专门打造的,本模块支持串行接口,支持SP蓝牙串口协议,具有成本低、体积小、收发灵敏性高等特点,只需配备少许的外围元件就能实现大功能。

  • 模块特点
  • (1)支持蓝牙 SPP 串口协议

    (2)内置 PCB 天线

    (3)支持 UART 接口

    (4)蓝牙 Class 2

    (5)数据传输比 BLE 蓝牙快、可达到 8K 每秒以上的速率

    (6)支持与 SPP 主蓝牙模块连接通信(JDY-30 为从 SPP 蓝牙模块)

    (7)支持与电脑 SPP 蓝牙通信

    (8)支持 Android 手机 SPP 通信

    二、产品应用范围

    (1) POS 机

    (2)蓝牙打印机

    (3)蓝牙玩具

    (4)蓝牙高速数据传输产品应用

    (5)小家电

    (6)汽车电子

    三、模块技术参数

    (1)工作电压:3.3V-6V

    (2)工作温度:-40℃-85℃

    (3)天线:PCB板载天线

    (4)功耗:19mA

    四、模块接口说明

    (1)RXD 串口输入,电平为TTL电平

    (2)TXD 串口输出,电平为TTL电平

    (3)GND 接GND

    (4)VCC 接3.3V-6V

    蓝牙模块实物图如下图所示。

    5.3、OLED电路简介

    OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。

    OLED显示技术具有自发光的特性,采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光,而且OLED显示屏幕可视角度大,并且能够节省电能,从2003年开始这种显示设备在MP3播放器上得到了应用。

    LCD都需要背光,而OLED不需要,因为它是自发光的。这样同样的显示,OLED效果要来得好一些。以目前的技术,OLED的尺寸还难以大型化,但是分辨率确可以做到很高。

    模块有单色和双色两种可选,单色为纯蓝色,而双色则为黄蓝双色。单色模块每个像素点只有亮与不亮两种情况,没有颜色区分。2)尺寸小,显示尺寸为0.96寸,而模块的尺寸仅为27mm*26mm大小。3)高分辨率,该模块的分辨率为128*64。4)多种接口方式,该模块提供了总共4种接口包括:6800、8080两种并行接口方式、 4线的穿行SPI接口方式,、IIC接口方式(只需要2根线就可以控制OLED了!)。5)不需要高压,直接接3.3V就可以工作了

    5.4、L298N驱动简介

    电机是整个小车的动力源泉,PWM可以输出0-5V的等效电压,而小车电机的额定电压一般为7V左右,且单片机内部可提供的电流很低不能满足要求,若没有点击驱动,单片机只能支持小电机的转动和调速,同时也会对芯片造成一定程度的损伤。所以此时需要电机驱动的帮忙,电机驱动采用L298N,能够承受电机需要的大电流,大功率电路,可以满足本设计的需求。

    5.5 STM32F103C8T6简介

    1. STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展电路。此款控制芯片在完成单片机课程的学习后上手较为容易,在医疗器械中应用广泛,具有很好的学习、实验研究价值。
    2. 一、STM32的主要优点:
    3. (1)使用ARM最新的、先进架构的Cortex-M3内核
    4. (2) 优异的实时性能
    5. (3) 杰出的功耗控制
    6. (4) 出众及创新的外设
    7. (5) 最大程度的集成整合
    8. (6) 易于开发,可使产品快速将进入市场
    9. 二、STM32——最佳的平台选项
    10. 对于使用同一平台进行多个项目开发而言,STM32是最
    11. 佳的选择:
    12. (1) 从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用
    13. (2) 从苛求性能的应用到电池供电的应用
    14. (3) 从简单而成本敏感的应用到高端应用
    15. (4) 全系列脚对脚、外设及软件的高度兼容性,给您带来全方位的灵活性。您可以在不必修改您原始框架及软件的条件下,将您的应用升级到需要更多存储空间或精简到使用更少存储空间/ 或改用不同的封装的规格。
    16. STM32F103C8T6单片机核心板接口电路图如下图所示。

    STM32单片机核心板接口原理图

    6、部分核心代码

    #include "sys.h"
    char Tou0[100] = {" "};
    char Tou1[100] = {" "}; //
    char Tou2[100] = {" "}; // 
    uint8_t sd_falg = 0;//摔倒标志
     char  JDStr[20] = {0};   //字符串
     char  WDStr[20] = {0};   //字符串
     
     float JD;   //经度
     float WD;   //纬度 
     
    uint8_t start_falg=0;  //运动
    
    char  DHStr[20] = {0};   //字符串
    char HC05SEND[200] = {0};   //蓝牙发送数据
    char lsstr[50] = {0};  //字符串
    
    unsigned char  SendFlag = 0;	//发送标志
    unsigned char  startSendFlag = 0;	// 
    char Crtl_Z[1]={0x1a};	   //发送短信最后字节
    char AT_CMGS[26]="AT+CMGS=\"";
    char UphoneID[] = {"123456789"};  //短信接收电话号码
    uint8_t gsmsend1=0;
    uint8_t gsmsend2=0;
    
    u8 WakeUp_Flag=0;//语音唤醒标志
    uint8_t Yundong_flag = 0;
    uint8_t bz_flag = 0;
     int main(void)
     {	 
    	    unsigned int i;
    		delay_init();	 
    		delay_ms(180); 
    		key_Init();
    		infrared_Init(); 
    		YHGUI_Config();//oled初始化	 	 
    		YHGUI_DispString(30,0,"Init...",16,1);  
    		delay_ms(500);	 
    		uart3_init(9600);  //初始化	 GPS
    		delay_ms(500);	 
    		uart1_init(9600);  //´初始化	 GSM
    	 	delay_ms(500);
    		uart2_init(9600);  //初始化	
    
    	    PWM_Init();  //电机初始化	
    		motor_Init();		
    
    		delay_ms(500);
    		HC05_Init();   //蓝牙初始化	
     		delay_ms(1000);  //ÑÓʱ1000ms
        	YHGUI_Clear();
        	YHGUI_DispString(0, 0,"轮椅:无人 速度 ",16,1);	 	  
    	    YHGUI_DispString(0, 16,"  停止          ",16,1);	
    	    YHGUI_DispString(0, 32,"经度:           ",16,1);	
    	    YHGUI_DispString(0, 48,"纬度:           ",16,1);	
    
    		while(1)
    		{
    			//ÏÔʾ¾­Î³¶ÈÊý¾Ý			
    			YHGUI_DispString(0,32 ,"经度:",16,1); 
    			YHGUI_DispString(0,48,"纬度:",16,1);					
    			YHGUI_DispString(48,32 ,JDStr,16,1); 
    			YHGUI_DispString(48,48,WDStr,16,1);	
    			if(infrared_B==0)
    			{
    				YHGUI_DispString(0, 0,"轮椅:有人",16,1);	 
    				start_falg=1;  //Ô˶¯
    			}
    			else
    			{
    				YHGUI_DispString(0, 0,"轮椅:无人",16,1);	 
    				start_falg=0;  //Ô˶¯
    				
    			}
    

    物联沃分享整理
    物联沃-IOTWORD物联网 » 基于STM32单片机的蓝牙遥控语音控制老年轮椅车GSM位置定位报警系统设计

    发表评论