当前位置:   article > 正文

【单片机毕业设计】【mcuclub-dz-197】基于STM32的智能医疗包的设计与实现_mcu医疗

mcu医疗

最近设计了一个项目基于STM32的智能医疗包的设计与实现,与大家分享一下:

一、基本介绍

项目名:药箱(实物)(mcuclub-jj-038、mcuclub-dz-141)
项目编号:mcuclub-dz-197
单片机类型:STM32F103C8T6
具体功能:
1、通过RTC获取时间,通过按键可修正时间
2、通过手机界面最多可配置5组吃药时间和是否使能,使能后,当时间到后,语音播报“吃药时间到,请吃药”,并通过舵机自动打开药箱,通过按键可关闭或者打开药箱
3、通过手机界面可设置常见的吃药种类和数量(感冒药、发烧药、消炎药、胃药)
4、通过光敏电阻检测药箱内光照值,当打开药箱时,如果光照值低于设置最小值,则自动开启补光灯
5、通过DHT11检测药箱内温湿度,当湿度值高于设置最大值,则进行除湿(出气口一个风扇抽出潮湿空气,进气口风扇和加热片一起启动)
6、通过OLED显示测量数据,当吃药时间到后显示吃药种类和数量,直到关闭药箱再显示测量数据
7、通过WIFI模块,可将所有监测数据发送到手机端,手机端可设置吃药时间、吃药数量、吃药种类

二、32实物图

单片机型号:STC89C32

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C

三、原理图

软件版本:AD2013

电路连线方式:网络标号连线方式

注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图

四、PCB图

由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。

两层板,上下覆铜接地。

五、系统框图

本设计以STM32单片机为核心控制器,加上医疗包参数监测模块和负载调控模块一起构成整个智能医疗包测控系统,单片机主要对医疗包的相关参数数据进行获取,在经过单片机内部进行数据分析和整理,输出控制信号控制继电器、舵机等外设进行正常工作,从而维持药箱的环境安全性。输入由四部分组成,通过光照采集模块检测药箱内的光照强度值;通过温湿度检测模块检测药箱内温湿度值;通过按键模块进行药箱监控系统的界面切换、阈值设置和切换模式;通过供电模块对整个医疗包系统进行供电。输出由四部分组成,通过显示模块显示药箱内的温湿度值、光照强度值、药品的种类和数量等监测值;通过三个继电器模块分别控制除湿、加热和补光,使药箱的环境参数适宜药品的保存;通过语音输出模块进行服药提醒,当监测到吃药时间到和能吃药后,语音播报“吃药时间到,请吃药”;当吃药时间到达时,通过舵机模块自动打开药箱。除此之外,WIFI作为无线通信模块,通过该模块实现手机端和医疗包系统的无线连接,可以实现将医疗包监测到的参数传到手机端进行显示,还可以通过手机端实现对智能医疗包的控制,实现双向控制功能。具体系统框图如图2.1所示。

六、软件设计流程

七、部分程序展示

软件版本:keil5

逻辑程序和驱动程序分开,分布于main.c和其他.c文件

*******数据上报函数
             数据更改时,将数据发布给服务器
*****/
void Aliyun_Send_Data(void)
{
    u8 state1 = 0, state2 = 0;

    if(RELAY_1)
        state1 = 1;
    else
        state1 = 0;

    if(RELAY_2)
        state2 = 1;
    else
        state2 = 0;

    sprintf(send_data,"{\"method\":\"thing/event/property/post\",\"id\":\"203302322\",\"params\":{\"temp_value\":%f,\"humi_value\":%f,\"humi_max\":%d,\"light_value\":%d,\"light_min\":%d,\"time1_en\":%d,\"time1_shi\":%d,\"time1_fen\":%d,\"time_num\":%d},\"version\":\"1.0.0\"}",
                    (float)temp_value/10,(float)humi_value/10,humi_max,light_value,light_min,(u8)time1_en,time1_shi,time1_fen,time_num);
    Aliyun_Publish(topics_post, send_data);  //添加数据,发布给服务器    

    sprintf(send_data,"{\"method\":\"thing/event/property/post\",\"id\":\"203302322\",\"params\":{\"time2_en\":%d,\"time2_shi\":%d,\"time2_fen\":%d,\"time3_en\":%d,\"time3_shi\":%d,\"time3_fen\":%d,\"time4_en\":%d,\"time4_shi\":%d,\"time4_fen\":%d,\"time_num\":%d},\"version\":\"1.0.0\"}",
                    (u8)time2_en,time2_shi,time2_fen,(u8)time3_en,time3_shi,time3_fen,(u8)time4_en,time4_shi,time4_fen,time_num);
    Aliyun_Publish(topics_post, send_data);  //添加数据,发布给服务器    
  
  sprintf(send_data,"{\"method\":\"thing/event/property/post\",\"id\":\"203302322\",\"params\":{\"time5_en\":%d,\"time5_shi\":%d,\"time5_fen\":%d,\"g_num\":%d,\"f_num\":%d,\"x_num\":%d,\"w_num\":%d,\"RELAY_1\":%d,\"RELAY_2\":%d,\"time_num\":%d},\"version\":\"1.0.0\"}",
                    (u8)time5_en,time5_shi,time5_fen,g_num,f_num,x_num,w_num,state1,state2,time_num);
    Aliyun_Publish(topics_post, send_data);  //添加数据,发布给服务器    
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/462359
推荐阅读
相关标签
  

闽ICP备14008679号