一、功能简介
项目名:智能坐垫
项目编号:dz-980
单片机类型:STM32F103C8T6
1、通过两个薄膜压力传感器放在座垫左右两侧,如果有哪一侧没有检测到压力,则语音提醒“坐姿异常,请坐好”
2、通过两个红外避障传感器放在座垫左右两侧,如果有哪一侧没有检测到,则语音提醒“放下腿,请坐好”
3、通过薄膜式压力传感器检测是否有人在坐垫上,如果有人坐在坐垫上,此时开始计时,当计时时间超过设定的最长时间,则语音提醒“请劳逸结合,注意起身运动”;
4、通过DHT11检测温湿度,当温度不在设定的范围内,则控制加热和散热,当湿度大于设置最大值(出现汗液),进行风干;
5、通过光照监测模块监测当前环境的光照强度,监测到光照大于最大值或者小于最小值进行语音提醒;
6、通过按键设置各阈值,坐下时长,光照最值、手动控制加热、散热、风干
7、通过OLED显示测量数据
8、通过WiFi模块,可将温湿度、坐下时长、光照发送到手机端,手机端也可控制加热、散热、风干、可以设置阈值
二、系统框图设计
绘制软件:VISIO
本设计以STM32F103C8T6单片机为核心控制器,结合多种检测模块构建智能坐垫系统,系统包括中控部分、输入部分和输出部分。中控部分采用STM32F103C8T6单片机,其主要功能是采集输入数据并进行处理,进而控制输出部分。输入部分由以下模块组成:第一部分是薄膜压力检测模块(左右两侧各一个),用于检测坐姿平衡;第二部分是红外避障检测模块(左右两侧各一个),用于检测腿部位置;第三部分是薄膜式压力检测模块,用于检测人员就坐;第四部分是温湿度检测模块,用于监测环境温湿度;第五部分是光照强度检测模块,用于检测环境光照;第六部分是按键模块,用于设置各参数阈值;第七部分是供电模块,为系统提供电源支持。输出部分由以下模块组成:第一部分是语音播报模块,用于坐姿矫正提醒;第二部分是继电器模块,控制加热和散热、风干;第三部分是OLED显示模块,用于实时显示监测数据。除此之外是WiFi通信模块,用于数据传输和远程控制。系统框图如图3.1所示。
三、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
四、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
五、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
六、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/********************************** 函数名:处理函数 传参值:无 返回值:无 **********************************/ void Manage_Function(void) { if(display_num == 0) //测量界面 { if(temp_value > temp_max*10) //温度不在设定的范围内,则控制加热和散热 { RELAY_SR = 1; RELAY_JR = 0; flag_temp = 0; }