聚丰项目 > 大病术后吹气练习仪

大病术后吹气练习仪

首先,我向各位致歉,因为申请的项目为“液体流量传感器”类的项目,但最终给我发来了“气体流量传感器”。使得原计划项目不得不更改。但,我要致谢IDT,错误的传感器,确给我带来了另外一个项目的应用:大病术后吹气练习仪。

lgx1213 lgx1213

分享
3 喜欢这个项目
团队介绍

lgx1213 lgx1213

团队成员

刘桄序 组长

刘小军 软件设计

罗晨 协调与设备测试

陈相炙 硬件电路

梁雄 软件美观设计

分享
项目简介
首先,我向各位致歉,因为申请的项目为“液体流量传感器”类的项目,但最终给我发来了“气体流量传感器”。使得原计划项目不得不更改。但,我要致谢IDT,错误的传感器,确给我带来了另外一个项目的应用:大病术后吹气练习仪。
硬件说明

 由于大病在手术后,都需要进行吹气练习,以练习肺活量和排除肺中废物。
 为此研究的“大病术后吹气练习仪”,具备以下功能:
1、仪器便携方便,吹气量化精确,为治疗提供重要参考数据
2、仪器具备设备显示和手机APP操作、显示两用,并具备数据记忆和查询功能,方便病人和家属使用
3、测试数据具有云端功能,方便医生对病人气量的掌握,数据科学,避免家属照顾中数据出现差错,影响医治和用药判断
4、测试提醒功能:照顾病人家属可能因为照顾不周,忘记定期测试和测试时间,本功能测试仪具备设置定时提醒功能。


一、整体硬件电路雏形

二、硬件说明

   本硬件由单片机系统和气体流量传感器构成。单片机系统采用89c52单片机,具备8位数字显示功能,通过蓝牙模块与手机端APP进行链接,进行设备测试及其他相关操作。电路框图如下:


1、单片机系统

    单片机采用最为常见的89C51系列单片机,对于系统应用和移植都非常方便。单片机系统采用5V供电,与其他模块电路供电电路一致。

     电路系统中,除最小系统应用电路的18、19引脚外接晶体振荡器外,9脚还必须外接对应的复位电路,必不可少。另外对于功能性引脚引用方面:1、2脚(P1.0、P1.1)接按键,对运行模式进行调控。12~15( P3.2~P3.5),及21~28(P2.0~P2.7)为数码LED显示的段码控制端。10、11脚(P3.0\RXD、P3.1\TXD)外接蓝牙模块,39脚P0.0接气体流量传感,进行AD模拟信号输入。

2、气体流量传感器

    本系统电路中,气体流量传感器采用IDT提供的FS2011,本模块各引脚功能键下表。

blob.png

在数据量化中,可以参考:

blob.png

以及:

blob.png

这由于传感器的高灵敏性,使得在计算之前必须要进行补偿,否则数据将不会准确。

3、蓝牙模块

本电路采用市售现成的蓝牙模块与系统相连,以便实施手机APP与硬件系统的数据交互。

4、按键电路

本系统中设置了2个按键,即K1和K2对应电路。可对运行状况、各类参数进行设置调控。

5、显示电路

本处显示电路采用由74hc595驱动译码的八位数字显示电路。其中,高4位显示为瞬间气体流量值,低4位位单次吹气小计流量值。


三、手机状态运行截图

      上图显示吹气人的吹气量比较低,图片显示底部为绿色,需要加油练习。


      上图显示吹气人的吹气量比较好,图片显示中部为蓝色,表示吹气人的吹气量较好。

    上图显示吹气人的吹气量比很好,图片显示上部为红色,全部显示完毕为最好,吹气量为正常人状态。

软件说明


1、单片机应用软件

#include "reg52.h"

#include"XPT2046.h"

#include "intrins.h"

typedef unsigned int u16;  

typedef unsigned char u8;

u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

sbit k1=P2^0;

sbit k2=P2^1;

u8 m,moshi=1;


u8 disp[4],disp1[8];

static u16 temp2;

void delay100ms(void)   //误差 -0.000000000023us

{

    unsigned char a,b;

    for(b=221;b>0;b--)

        for(a=207;a>0;a--);

}


void delay(u16 i)

{

while(i--);

}

void delay2ms(void)  

{

    unsigned char d,e;

    for(d=4;d>0;d--)

        for(e=248;e>0;e--);

    _nop_(); 

}

void UsartInit()

{

SCON=0X50;

TMOD=0X20;

PCON=0X00;

TH1=0XFd;

TL1=0XFd;

ES=1;

EA=1;

TR1=1;        

}

void datapros()

{

u8 temp1;

temp1 = Read_AD_Data(0xE4)/16;

disp[0]=temp1/1000;

disp[1]=temp1%1000/100;

disp[2]=temp1%100/10;

disp[3]=temp1%10;

if(m==4)

{

m=0;

}

}


void DigDisplay()

{

for(m=0;m<4;m++)

{

UsartInit();

SBUF='0'+disp[m];

delay2ms();

TI=0;

}

}

void delay10ms(void)   

{

    unsigned char a,b;

    for(b=249;b>0;b--)

        for(a=17;a>0;a--);

}


void datapros1()

{

static u16 temp3;


static u8 i;

if(i==100)

{

i=0;


temp3 = Read_AD_Data(0xE4);

if(temp3>100)

{

temp2=temp3+temp2;

}

else 

temp2=temp2;

   

}

i++;

disp1[0]=smgduan[temp3/1000];

disp1[1]=smgduan[temp3%1000/100];

disp1[2]=smgduan[temp3%1000%100/10];

disp1[3]=smgduan[temp3%1000%100%10];

  disp1[4]=smgduan[temp2/10/1000];

  disp1[5]=smgduan[temp2/10%1000/100];

  disp1[6]=smgduan[temp2/10%1000%100/10];

  disp1[7]=smgduan[temp2/10%1000%100%10];

}


void DigDisplay1()

{

u8 i;

for(i=0;i<8;i++)

{

switch(i) 

{

case(0):

LSA=0;LSB=0;LSC=0; break;

case(1):

LSA=1;LSB=0;LSC=0; break;

case(2):

LSA=0;LSB=1;LSC=0; break;

case(3):

LSA=1;LSB=1;LSC=0; break;

case(4):

LSA=0;LSB=0;LSC=1; break;

case(5):

LSA=1;LSB=0;LSC=1; break;

case(6):

LSA=0;LSB=1;LSC=1; break;

case(7):

LSA=1;LSB=1;LSC=1; break;

}

P0=disp1[i];

delay(100); 

P0=0x00;

}

}

void main()

{

while(1)

if(moshi==2)

{   while(1)

{

 datapros();

   DigDisplay();

        delay100ms();

 if(k2==0)

{

delay10ms();

if(k2==0)

{

 moshi=1;

break;

}

}

}

}

    else if(moshi==1)

{

while(1)

{

datapros1(); 

 DigDisplay1();

      if(k1==0)

 {

delay10ms();

 if(k1==0)

 {

 temp2=0;

 }

 }

      if(k2==0)

  {

delay10ms();

  if(k2==0)

  {

  moshi=2;

        break;

         }

       }

}

}

}

}



2、APP手机端应用软件

见附件运行程序


      3、云端数据库

(略)

附件

(3.44 MB)下载

评论区(0 )