STM32开发实例_基于物联网的输液控制系统(电路图+程序+流程图)24-32-18

一.系统概述

输液控制系统具备系统能够实现对多种生物参数和环境数据的高精度监测与控制,适用于液体医疗设备和生物实验中的数据采集与管理需求,主要功能和相关硬件模块:
1. 数据采集:
   - 使用STM32单片机作为核心控制器,整合心率传感器、血压传感器(XGZP)、温度传感器(DS18B20)完成对心率、血压和温度的实时采集。
   - 非接触式液位传感器用于监测液体位置,光电传感器用于测量液滴滴速。
2. 数据显示和设定:
   - 配置OLED12864显示屏,实时显示采集到的心率、血压、温度、液位和液滴速度等信息。
   - 设计按键用于设定心率、血压和温度的阈值,超过设定值时触发报警。
3. 报警和控制功能:
   - 控制蜂鸣器发出滴滴声警报,用于响应心率、血压、温度和液位异常。
   - 手动控制按钮调节步进电机的正反转,模拟调节液滴速度。
4. 数据上传和远程监控:
   - 集成无线通信模块,通过云端(阿里云)将采集到的数据上传,实现远程监控和数据存储。


二.电路设计

电路图采用Altium Designer进行设计:
1. 通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心;
2. 使用XGZP6847D气压传感器进行血压检测,并和单片机通过IIC总线进行通信;
3. 通过DS18B20进行温度检测,并通过单总线与单片机完成数据通信;
4. 使用电阻式水滴传感器进行液滴检测,传感器的数字输出端与单片机的GPIO口相接;
5. 通过pulse sensor心率传感器进行心率检测,并将模块的数字输出脚接单片机的GPIO口;
6. 使用红外光电测速模块进行低速的检测,并将模块的数字输出脚接单片机的GPIO口;
7. 通过ESP8266-01S将检测到数据上传到上位机,通过UART串口与单片机进行通信;
8. 通过0.96寸的OLED12864进行数据显示,采用IIC总线的形式与单片机进行通信;
9. 使用独立按键进行阈值设定,按键的一端接地,一端接单片机的GPIO口;
10. 使用蜂鸣器进行报警,蜂鸣器采用的有源蜂鸣器,使用NPN三极管进行蜂鸣器进行驱动。


三.程序设计

#include "sys.h"
#include "delay.h"
#include "adc2.h"
#include "math.h"
#include "adc.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Control_Report_To_Police.h"
/************************************************
版权:小常硬件
公众号:微信搜索“小常硬件“在公众号免费下载相关资料
************************************************/

int main(void)
 {	
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
	delay_init();	    	 //延时函数初始化	
  Usart1_Init(115200);	 
	TIM4_Init(300,7200);
	while(DS18B20_Init()){}
	OLED_Init(); 
switch_Init();	
Beep_init();		
	Adc_Init();
	Adc2_Init();
	KEY_Init();
	ULN2003_GPIOB_Init();
	OLED_CLS();             //OLED清屏
	OLED_ShowCN(32,2,0);			//小常硬件
	OLED_ShowCN(32+16,2,1);
	OLED_ShowCN(32+32,2,2);
	OLED_ShowCN(32+32+16,2,3);
	delay_ms(100);
	OLED_CLS();
	TIM2_Int_Init(1999,71);
	ALi_ESP8266_GPIO_Init();
	MQTT_Buff_Init();
  AliIoT_Parameter_Init();
	OLED_ShowCN(0,0,10);      
	OLED_ShowCN(0+16,0,11);	
	OLED_ShowCN(0,2,6);      
	OLED_ShowCN(0+16,2,7);	
	OLED_ShowCN(0,4,24);      
	OLED_ShowCN(0+16,4,25);	
  while(1)
	{
    OLED_Display_Cotrol(); //显示控制函数
	}	 
} 



 四.资料内容

STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,它具有丰富的外设和强大的性能,广泛应用于嵌入式系统开发。而非接触液位传感器DR-01是一种用于测量液体或粉体物料液位的传感器。 该传感器采用非接触式工作原理,通过感应液体或粉体物料的电磁场变化来测量液位。它具有以下特点: 1. 非接触式测量:传感器与被测物料无需直接接触,避免了污染和损坏的风险。 2. 高精度测量:传感器采用先进的电磁感应技术,能够实现高精度的液位测量。 3. 可编程性:传感器支持多种工作模式和参数设置,可以根据实际需求进行灵活配置。 4. 易于安装和维护:传感器结构简单,安装方便,同时具有较高的可靠性和稳定性。 在使用STM32F103C8T6控制非接触液位传感器DR-01时,你可以通过以下步骤进行操作: 1. 连接硬件:将传感器与STM32F103C8T6进行连接,通常通过数字输入/输出引脚或模拟输入引脚进行数据传输。 2. 配置引脚:在STM32F103C8T6的开发环境中,配置相应的引脚为输入或输出模式,并设置相应的电平逻辑。 3. 初始化传感器:通过发送特定的指令或配置寄存器,初始化传感器的工作模式和参数。 4. 读取数据:使用STM32F103C8T6的相应接口读取传感器返回的数据,获取液位信息。 5. 处理数据:根据传感器返回的数据进行相应的处理和计算,得到最终的液位值。 6. 控制输出:根据液位值进行相应的控制操作,例如控制液位报警、液位控制等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小常硬件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值