DPJ-860基于STM32单片机蓝牙GSM语音老年轮椅车

📅 发布时间:2026/8/14 18:41:25
DPJ-860基于STM32单片机蓝牙GSM语音老年轮椅车 1、前言这两年开始毕业设计和毕业答辩的要求和难度不断提升传统的毕设题目缺少创新和亮点往往达不到毕业答辩的要求这两年不断有学弟学妹告诉小洪学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设小洪学长分享优质毕业设计项目今天要分享的是基于STM32单片机蓝牙GSM语音老年轮椅车轮椅采用小车模型来设置进行小车的底座搭建系统总体设计基于STM32单片机的蓝牙GSM语音老年轮椅车以STM32F103C8T6为核心控制器整合蓝牙无线控制、GSM/GPRS远程通信、语音交互三大功能同时搭载姿态检测防侧翻、避障等安全模块实现“本地便捷控制远程安全监护”的双重目标适用于老年人群体的日常出行与健康管理。硬件系统组成主控模块选用STM32F103C8T6或F429其内置ARM Cortex-M3/M4内核最高72/180MHz主频、64KB Flash20KB SRAMF4系列支持更大内存具备丰富的外设接口USART、I2C、SPI、ADC满足多模块通信与数据处理需求。蓝牙控制模块采用HC-05/HC-08等经典蓝牙模块支持SPP串口协议通过USART与STM32连接实现手机APP与轮椅的短距离无线控制如前进、后退、转向传输距离约10米Class 2适合陪护人员近距离辅助操作。GSM/GPRS模块选用SIM800C/SIM900A工业级模块支持四频900/1800MHz通过USART与STM32通信实现短信报警如心率异常、轮椅侧翻时向家人发送经纬度、语音通话紧急情况下一键呼叫、GPRS数据传输健康数据上传至云端覆盖全球GSM网络。语音交互模块采用snr9813非特定人语音识别或HC-05语音模块通过SPI/I2C与STM32连接支持语音指令控制如“前进”“后退”“停止”和语音播报如“当前速度”“电量低”无需手动操作提升老年人使用便捷性避障模块搭载红外漫反射传感器检测距离0-450cm盲区2cm通过IO口与STM32连接实时检测前方障碍物接近时如30cm启动蜂鸣器预警并停止轮椅运动防止碰撞。电机驱动与电源模块采用L298N电机驱动模块支持PWM调速驱动电流可达2A控制直流减速电机如HC02-48扭矩大、转速稳实现轮椅的前进、后退、转向电源选用高性能锂离子电池如12V 20Ah搭配电池保护板过充、过放、过流保护并通过STM32的ADC接口实时监测电池电量显示在OLED上。人机交互模块配备0.96寸OLED显示屏I2C接口128×64分辨率显示轮椅状态速度、电量、定位设置物理按键如紧急停止、模式切换作为备用控制方式应对蓝牙/GSM失效场景。2、简介1自动感知功能采用人体传感器判断是否有人坐下坐下后才能进行激活轮椅的运动状态。2自动避障功能采用该红外传感器判断障碍物当检测到障碍物的时候进行停止轮椅的运动状态防止因为使用者操作不当和特殊情况产生的损失保证安全性。3轮椅的行走控制功能采用按键设置控制轮椅的左转、右转、前进、后退、停止的控制也可以通过语音来控制轮椅的运行状态能够实现简单的语音控制轮椅的行走、左转、右转、后退、停止等功能。4双陪护功能采用手机端可以控制轮椅的紧急情况运行状态设置。在遇到危险的时候通过GSM模块和GPS定位通过当前的定位来给紧急联系人发送求助消息。5无线通讯功能采用蓝牙作为无线数据传输当使用者和陪护人员在一起来但是有危险的情况下手机端进行控制轮椅的运动状态。6液晶显示屏显示轮椅的当前工作状态提示使用者能够正确操作保证人身安全。3、组成本设计由STM32F103C8T6单片机最小系统oled液晶显示电路蓝牙模块红外漫反射模块GSM模块红外模块按键电路GSM模块蜂鸣器报警电路电源电路组成。4、实现效果整体展示​哔哩哔哩视频链接https://www.bilibili.com/video/BV1dEq2BjEj2/?spm_id_from333.1387.search.video_card.click5、设计原理5.1STM32F103C8T6简介STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展电路。此款控制芯片在完成单片机课程的学习后上手较为容易在医疗器械中应用广泛具有很好的学习、实验研究价值。一、STM32的主要优点1使用ARM最新的、先进架构的Cortex-M3内核2 优异的实时性能3 杰出的功耗控制4 出众及创新的外设5 最大程度的集成整合6 易于开发可使产品快速将进入市场二、STM32——最佳的平台选项对于使用同一平台进行多个项目开发而言STM32是最佳的选择1 从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用2 从苛求性能的应用到电池供电的应用3 从简单而成本敏感的应用到高端应用4 全系列脚对脚、外设及软件的高度兼容性给您带来全方位的灵活性。您可以在不必修改您原始框架及软件的条件下将您的应用升级到需要更多存储空间或精简到使用更少存储空间/ 或改用不同的封装的规格。STM32F103C8T6单片机核心板接口电路图如下图所示。STM32单片机核心板接口原理图6、部分核心代码#include stm32f10x.h #include delay.h #include GPIO/gpio.h #include MYDATA/mydata.h #include MOTOR/motor.h #include PWM/pwm.h #include OLED/oled.h #include usart.h #include ESP8266/esp8266.h #include timer.h #include USART2/usart2.h #include HCSR/hcsr.h #include DS18B20/ds18b20.h #include ADXL345/adxl345.h /****************洪核单片机工作室******************* *** 洪核单片机 *** 项目:STM32i智能商场停车位 *** BILIBILI:洪核单片机 *** 小红书:洪核单片机 *** 授权IP:洪核单片机 *** 版本:V01.01 *** MCU:STM32F103C8T6 ******************洪核单片机***********************/ uint8_t zhuangtai0; int mode1; int kongzhi0; uint8_t tempbuc 0; uint16_t titemp 0; uint8_t stateee 0; uint8_t STATE_Dear(short x,short y, short z); int qiuzu0; uint8_t bj10; uint8_t bj20; uint8_t bj30; uint8_t bj40; uint8_t bj50; uint8_t bj60; int tempyz320; int xinlvyz120; int juliyz30; int main(void) { OLEDGUI_Config();//oled TIM3_Int_Init(499,7199);//50ms OLEDGUI_DispString(0,0,INIT.... ,16,1); gpio_Init(); EXTIX_Init(); PWM_Init(); //µç»ú³õʼ»¯ motor_Init(); hcsr_Init(); DS18B20_Init(); titemp DS18B20_Get_Temp(); ADXL345_Init(); uart2_init(9600); delay_ms(100); uart2_init(115200); delay_ms(1000); STA_UDP_ESP8266_Init(); while(1) { //获取按键值 key_scan(); //进入菜单界面显示处理数据 GetKeylnput(Keystatus); //获取传感器数据 SensorDataGet(); delay_ms(100); } }