66-基于stm32单片机医院病房护士站呼叫系统源程序、原理图、元件清单实物制作

功能介绍:本设计共有两个系统,系统一是护士站,系统二是病房,两个之间采用通信方式进行信息交互,护士站配备有MQ2烟雾传感器、火焰传感器、DHT11温湿度传感器、蜂鸣器、蓝牙HC-06模块、OLED显示屏;OLED显示烟雾浓度、温湿度数据、以及病房呼叫状态,当病房有人按下按键呼叫,护士站这边蜂鸣器会报警提醒,护士站这边通过按键来应答,整个系统完美呈现出医院病房护士站呼叫系统,程序有中文注释,新手容易看懂,文末有资料分享:

下面是实物演示视频和相关实物图片

66-基于stm32单片机医院病房护士站呼叫系统(程序+原理图+元件清单全套资料)

下面是程序部分展示(程序有中文注释,新手容易看懂)

程序部分展示//硬件初始化void Hardware_Init(void){  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级    delay_init();      //延时函数初始化    Usart1_Init(9600);  //串口1初始化为115200//  Usart2_Init(115200);   //串口2,驱动ESP8266用  LED_Init();        //LED初始化}

int main(void){  unsigned char *dataPtr = NULL;  unsigned short timeCount = 30;  //发送间隔变量uint8_t status;long int num=0;u16 adcx;  int temp,buf1=0,buf2=0;  Hardware_Init();        //初始化外围硬件      OLED_Init();    OLED_ColorTurn(0);    OLED_DisplayTurn(0);        OLED_ShowString(80,48,"N",16);    OLED_ShowString(50,48,"N",16);        OLED_Refresh();  KEY_Init();    Adc_Init();  LED_Init();  LED=1;
  while(1)  {  

    DHT11_Read_TempAndHumidity ( & DHT11_Data );//读取温湿度    OLED_ShowNum(0,0,DHT11_Data .temp_int,2,24);//显示温度整数     OLED_ShowString(25,0,".",24);    OLED_ShowNum(35,0,DHT11_Data .temp_deci,1,24);//显示温度小数     OLED_ShowString(50,0,"C",24);    OLED_ShowNum(80,0,DHT11_Data .humi_int,2,24);//显示湿度       OLED_ShowString(110,0,"%",24);    adcx=Get_Adc_Average(ADC_Channel_0,10);//读取MQ2浓度    temp=(float)adcx/4096*330-150;    if(temp<0) temp=0;    OLED_ShowString(0,32,"MQ2:",16);    OLED_ShowNum(30,32,temp,3,16); //显示浓度if(huoyan==0) {  OLED_ShowString(60,32,"Warning",16);  printf("Warning\r\n"); //蓝牙模块发送浓度}else {  OLED_ShowString(60,32,"Normal ",16);    printf("Normal\r\n"); //蓝牙模块发送浓度}      if(temp>100) //当浓度>100  {    beep=0;  }  
  printf("MQ2:%d ppm\r\n",temp); //蓝牙模块发送浓度  delay_ms(100);
  printf("TEMP:%d",DHT11_Data .temp_int);   //发送温度整数  printf(".%d C\r\n",DHT11_Data .temp_deci);//发送温度小数  delay_ms(100);  printf("HUMI:%d \r\n",DHT11_Data .humi_int);  //发送湿度  delay_ms(100);  if(IN1==0)  {  buf1=1;  OLED_ShowString(50,48,"Y",16);    //显示状态  }  if(IN2==0)  {  buf2=1;  OLED_ShowString(80,48,"Y",16);    //显示状态      }  if(K1==0)  {    buf1=0;    OLED_ShowString(50,48,"N",16);    //显示状态  }  if(K2==0)  {    buf2=0;  OLED_ShowString(80,48,"N",16);    //显示状态  }if(buf1==1||buf2==1) beep=0;//报警提醒if(buf1==0&&buf2==0) beep=1;  OLED_Refresh();  }}

程序打开办法:特别注意:下载资料包以后一定要先解压!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

原理图采用【AD】altium designer打开,文件中有安装包

下面是资料包文件展示

百度云盘资料下载链接 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值