基于单片机的智能点滴速度输液液体检测

news2024/9/20 21:19:18

    功能介绍

  • 以51单片机作为主控系统;
  • 显示液位,滴数,温度等信息;
  • 通过水位传感器检测当前药瓶是否有水;
  • 通过滴速传传感器利用单片机定时器计算当前滴速;
  • 通过DS18B20温度传感器采集当前药液温度,继电器控制加热片加热;
  • 通过水位传感器LM393信号输出判断是否有水;
  • 通过按键设置各种初始值的设定以及系统初始化;
  • 滴速监控模块根据设定的滴速对输液速度进行监测和控制
  • 通过HC-05蓝牙模块实现当前温度,滴速等信息的无线传输功能;
  • 整个电路以5v供电;

 电路图


源代码

#include <reg52.h>
#include <intrins.h>
#include <stdio.h>//printf串口输出头文件

#define uchar unsigned char
#define ushort  unsigned int
#define uint  unsigned long

#include "lcd1602.h"
#include "uart_trx.h"
#include "eeprom52.h"

#define RATIO 800		//系数,建议选择800-1000

sbit key1 = P1^0;//加键
sbit key2 = P1^1;//减键

sbit beep = P2^0;//蜂鸣器
sbit Fan = P1^3;//风扇

unsigned char pmBuf[7] = 0;//数据接收数组
uint PM25_Value = 0;     		//PM = ((pmBuf[1]<<8)+pmBuf[2])/1024*8*ratio
uint PM25_ValueMax = 200; //上限初始值

void EEPROM_WRITE()//EEPROM写入
{
		SectorErase(0x2000);//擦除扇区
	  byte_write(0x2001, (PM25_ValueMax>>8)&0xFF);//存储高8位
	  byte_write(0x2002, (PM25_ValueMax>>0)&0xFF);//存储低8位
	  byte_write(0x2009, 111);//存储校验值
}

void EEPROM_READ()//EEPROM读出
{
		if(byte_read(0x2009)!=111)//开机检测单片机是不是第一次使用,如果不是第一次使用,则先把数据存储一遍,再读取,数据就不会乱码
		{
				EEPROM_WRITE();//存储
			  delay_ms(100);
		}
		PM25_ValueMax = byte_read(0x2001)<<8 | byte_read(0x2002);//读取上限值
}

void Get_PM(void)//读取PM2.5值,具体的数据帧意思,请自行查阅芯片手册
{
    char i = 0;
    char j = 0;
    char k = 0;

	  COM.RX_Cnt = 0;
    if(COM.B_RX_OK == 1)//串口数据接收完成
    {
        for(i = 0; i<8; i++)
        {
            if((RX_Buffer[i] == 0xAA)&&(RX_Buffer[i+6]==0xFF))//判断接收的数据是否正确
            {
                goto find2;
            }
        }
        goto end2;
find2:
        for(j = 0; j<7; j++)
        {
            pmBuf[j] = RX_Buffer[i+j];//数据获取
        }

        PM25_Value = (unsigned int)((pmBuf[1]*256)+pmBuf[2])*5/2048.0*RATIO;//计算PM2.5值
        COM.B_RX_OK = 0;
    }
end2:
    return;
}



void main(void)
{
    unsigned int test;

	  EEPROM_READ();//开机读取存储值
    LCD_init();//1602初始化
    Uart_Init(2400);//串口初始化波特率2400
  
    LCD_write_string(0,0,"Pm2.5:    ug/m3 ");
    LCD_write_string(0,1,"PmMax:    ug/m3 ");
	  //显示上限值
	  LCD_write_char(7, 1, PM25_ValueMax % 1000 / 100 + 0x30);
		LCD_write_char(8, 1, PM25_ValueMax % 100 / 10 + 0x30);
		LCD_write_char(9, 1, PM25_ValueMax % 10 + 0x30);
    while(1)
    {
			if (test ++ > 250)//大约250ms读取一次
			{
					test = 0 ;

					Get_PM();//获取PM2.5
					if(PM25_Value > 999)//限值,最大999
					 PM25_Value = 999;
					//显示PM2.5
					LCD_write_char(7, 0, PM25_Value % 1000 / 100 + 0x30);
					LCD_write_char(8, 0, PM25_Value % 100 / 10 + 0x30);
					LCD_write_char(9, 0, PM25_Value % 10 + 0x30);
					
					if(PM25_Value >= PM25_ValueMax)//超过上限,蜂鸣器报警
					{
							beep = ~beep;
						  Fan = 0;
						  delay_ms(100);
					}
					else
					{
							beep = 1;
						  Fan = 1;
					}
			}
			if(key1 == 0)//加键按下
			{
					delay_ms(10);//消抖
				  if(key1 == 0)
					{
						  beep = 0;
						  delay_ms(100);
						  beep = 1;
							while(key1 == 0);
						  if(PM25_ValueMax<999)PM25_ValueMax+=10;//上限最大到999,每次加10
						  //显示
						  LCD_write_char(7, 1, PM25_ValueMax % 1000 / 100 + 0x30);
							LCD_write_char(8, 1, PM25_ValueMax % 100 / 10 + 0x30);
							LCD_write_char(9, 1, PM25_ValueMax % 10 + 0x30);
						  EEPROM_WRITE();//保存
					}
			}
			if(key2 == 0)//减键按下
			{
					delay_ms(10);
				  if(key2 == 0)
					{
						  beep = 0;
						  delay_ms(100);
						  beep = 1;
							while(key2 == 0);
						  if(PM25_ValueMax>=10)PM25_ValueMax-=10;//上限最小到0,每减10
						  //显示
						  LCD_write_char(7, 1, PM25_ValueMax % 1000 / 100 + 0x30);
							LCD_write_char(8, 1, PM25_ValueMax % 100 / 10 + 0x30);
							LCD_write_char(9, 1, PM25_ValueMax % 10 + 0x30);
						  EEPROM_WRITE();//保存
					}
			}
			delay_ms(1);
    }
}


产品特点

        

        当输液瓶内液体到达设置最低处时,红外发射与接收传感器检测到后,液位监测模块将信息通过主控器传输给液位报警模块,提示报警,提醒护理人员更换输液瓶。通过滴速控制模块,当滴速与设定值不符时,主控器控制步进电动机正反转,模拟机械夹夹紧或放松,达到滴速调节。DS18b20温度传感器采集当前药液温度,温度低于设置值继电器闭合进行加热。HC05蓝牙模块进行无线传输功能方便医护人员观察数据。

元器件清单

规格名称标号数量
滴速检测模块槽型光耦COM4, U92
IN4148二极管D21
水位传感器水位传感器 Water Sensor for 水分 液滴 水深检测J51
KEY1按键K1, K23
LEDLED指示灯LED2, LED4?2
S8050三极管Q1, Q32
1K电阻R2, R7, R103
10K电阻R111
SWITCH开关U41
POW电源U51
BELL蜂鸣器U81
JDQ-5继电器U101
5V1A加热片U111
ULN2003步进电机驱动U121
DS18B20温度传感器U151
CON545线28BYJ48U181
LM393比较器U222
HC-05蓝牙模块U752

系统框图

 

 

参考文献

参考文献
[1]王德保.GPS在城市控制网中的应用研究[D].山东:山东科技大学,2005.
[2]何立民.从现代计算机视角看嵌入式系统(4)嵌入式系统40年发展史[J].单片机与嵌入式系统应用,2016,16(04):77-79.
[3]康桂霞,刘达.FPGA应用技术教程[M].北京:人民邮电出版社:201306.229.
[4]朴德慧,衣英刚.液晶显示器驱动板MCU电路介绍(上)[J].家电检修技术,2012(11):53.
[5]段廷魁.全球卫星定位系统(GNSS)在工程测量中的实践运用探索0[J].科技创新与应用,2021(05):182-184.
[6]宋戈,黄鹤松.51单片机应用开发范例大全[M].北京:人民邮电出版社:国家信息技术紧缺人才培养工程系列丛书,201206.558.
[7]罗小青.单片机原理及应用教程[M].北京:人民邮电出版社,201409.180.
[8]沈庆阳.单片机实践与应用[M].北京:清华大学出版社,2002.
[9]杜深慧.温湿度检测装置的设计与实现[M].北京:机械工业出版社,2004.
[10]林嘉.基于89S52的LCD1602程序设计[J].电脑知识与技术,2012(26):6376-6378.
[11]刘光伟.基于单片机的温室温湿度监测系统设计与实现[D].秦皇岛市:燕山大学,2012.
[12]褚福强,董学仁.单片机的网络接入技术研究[J].仪器仪表用户,2006(05):4-5.
[13]陈英俊.基于单片机的温湿度监测和报警系统设计[J].广东石油化工学院学报,2013(04):42-46.
[14]廖丽媛.基于应变式扭矩传感器的测量系统的设计[D].上海市:东华大学,2013.
[15]刘九庆.温室环境工程技术[M].吉林:东北林业大学出版社,2002.
[16]王明喜,崔世茂.大棚型日光温室光照、温度及湿度等性能的初步研究[J].农业工程技术(温室园艺),2008(05):19-21.
[17]张迎辉.单片微型计算机键盘接口设计[J].信息技术,2004(07):68-69+91.
[18]张友德,赵志英.单片微型机原理应用与实验[M].上海市:复旦大学出版社,2003.
[19]赵芝芸.温室智能监控系统[D].江苏:江苏科技大学,2010.
[20]张宏伟.基于STM32的智能环境监测系统设计与实现[J].大庆师范学院学报,2020(05):32-35.
[21]王世伟,杨越.基于STM32的多型号舵机调试器设计[J].九江学院学报(自然科学版),2020,35(02):33-36.
[22]Pengcheng Zhao,Meijun Ni,Chao Chen,Chenxi Wang,PingpingYang,Xiahui Wang,Chunyan Li,Yixi Xie,Junjie Fei. A Novel Self-protection Hydroquinone Electrochemical Sensor Based on Thermo -sensitive Triblock Polymer PS-PNIPAm-PS[J].
[23]Jian Wang,Jing Chen,Xiaofu Xiong,Xiaofeng Lu,ZhengLiao,Xiaobo Chen.Temperature safety analysis and backup protectionscheme improvement for overhead transmission line in poweroscillation condition[T].Electric Power Systems Research,2019,166.
[24]Fuji Electric Co.Ltd.;Patent Issued for SeiconductorDevice And Method Of Outputting Temperature Alarm (USPTO10,164,626)[J].Electronics Newsweekly,2019.
[25]VERSID,INC;Patent Issued for Refrigeration UnitTemperature Alarm Using Thermal Properties of Food to Eliminate FalseAlarms (USPTO 9752810)[J].Computers,Networks &Communications,2017.
[26]Fuji Electric Co.Ltd;Patent Application Titled"Semiconductor Device and Method of Outputting Teperature Alarm"Published Online (USPTO 20170077919)[J]. Technology & BusinessJournal,2017.
[27]su Yuanping,Xu Lihong,Goodman Erik D.Multi-layerhierarchical optimisation of greenhouse climate setpoints for energyconservation and improvement of crop yield[J].Biosystems
[28]黄松茂.基于STM32的家庭环境监测系统的设计与实现[D].甘肃兰州.西北师范大学,2018.:23-30.
[29]李大琳.智能车内温度监测系统设计[J].山东工业技术,2014(12):80-81.
[30]郭雯,王海涛. 智能输液系统的发展与应用.医疗卫生装备,2012

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/709021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端】JS语法——数据类型转换

一、字符串&#xff08;里面必须数字&#xff09;转换为数字类型&#xff08;number&#xff09; 1、强制转换&#xff1a;(parseInt()、parseFloat()、Number())&#xff1b; 2、隐式转换&#xff08;number[-/*%]string&#xff09;&#xff1b; <script>let s &qu…

红米K60刷入MIUI.EU安装面具magisk与root教程

文章目录 前言1.解锁BootLoader2.刷入Recovery3.刷入EU的ROM包4.刷入magisk面具后话 前言 教程大概就是四步&#xff0c;解锁&#xff0c;刷入rec&#xff0c;刷入系统&#xff0c;刷入面具&#xff0c;跟着教程走即可。这次是刷机方式&#xff1a;卡刷&#xff08;Recovery&a…

SELECT * 会导致查询效率低的原因

SELECT * 会导致查询效率低的原因 前言一、适合SELECT * 的使用场景二、SELECT * 会导致查询效率低的原因2.1、数据库引擎的查询流程2.2、SELECT * 的实际执行过程2.3、使用 SELECT * 查询语句带来的不良影响 三、优化查询效率的方法四、总结 前言 因为 SELECT * 查询语句会查…

PCL可视化 3D点云PCD文件

工具安装 sudo apt install pcl-tools 启动命令&#xff1a; pcl_viewer 000000.pcd

chatgpt赋能python:在Python官网上下载Python:一位有10年Python编程经验的工程师分享

在Python官网上下载Python&#xff1a;一位有10年Python编程经验的工程师分享 Python是如今最受欢迎的编程语言之一。它是一种易学易用、具有广泛用途的开源语言。如果您刚开始使用Python&#xff0c;或者想要更新到最新版本的Python&#xff0c;Python官网是一个很好的起点。…

QT学习笔记4--自定义信号的槽

逻辑&#xff1a;下课后&#xff0c;老师饿了&#xff0c;学生请吃饭。 使用connect函数连接自定义的信号和槽函数。 创建类 信号 #ifndef TEACHER_H #define TEACHER_H#include <QObject>class teacher : public QObject {Q_OBJECT public:explicit teacher(QObjec…

浙江专升本高等数学易错例题讲解-函数间断点

例题 考察内容&#xff1a;间断点的判断 易错点分析&#xff1a;化简时不能把负数带入根号 浙江专升本高等数学易错例题讲解-函数间断点

【前端1】标签,css,js

文章目录 1.标签&#xff1a;input1.1 html&#xff1a;HTML&#xff08;用于创建网页结构&#xff09;&#xff0c;CSS&#xff08;对页面进行美化&#xff09;&#xff0c;JavaScript&#xff08;用于与用户交互&#xff09;1.2 文本标签&#xff1a;字体属性1.3 a标签&#…

【动手学习深度学习--逐行代码解析合集】03图像分类数据集

【动手学习深度学习】逐行代码解析合集 03图像分类数据集 视频链接&#xff1a;B站-动手学习深度学习 课程主页&#xff1a;https://courses.d2l.ai/zh-v2/ 教材&#xff1a;https://zh-v2.d2l.ai/ 代码 以下代码是在PyCharm中运行的 import matplotlib # 注意这个也要import一…

word整理pdf转换来的文章,或者从网页复制的格式

这是对文章的格式整理。 1、去除 分节符 首先&#xff0c;用格式工厂或者别的pdf转换器等&#xff0c;都会出现为了保持原有格式不变因此增加分节符的情况 添加分节符后&#xff0c;即使这一页还有很大的空白&#xff0c;下一段也会另起一页 而且&#xff0c;单纯的backspa…

Java+控制台实现员工信息管理系统

Java控制台实现员工信息管理系统 一、系统介绍二、功能展示1.主页2.添加员工3.员工列表4.根据员工号查询信息5.根据员工号删除信息6.根据员工号调整员工工资7.退出系统 四、其它1.其他系统实现2.获取源码 一、系统介绍 使用ArrayList对完成一个员工管理系统&#xff0c;员工信…

Flutter 实现任意控件拖动

文章目录 前言一、如何实现&#xff1f;1、使用GestureDetector响应拖动事件2、使用Transform变换控件位置3、计算拖动区域 二、完整代码三、使用示例1、基本用法 总结 前言 使用flutter开发是需要控件能拖动&#xff0c;比如画板中的元素&#xff0c;或者工具条&#xff0c;搜…

chatgpt赋能python:用Python进行数据挖掘来优化SEO排名

用Python进行数据挖掘来优化SEO排名 您是否一直在为如何在搜索引擎排名上优化自己的网站而苦恼&#xff1f;事实上&#xff0c;Python可以成为您的得力助手&#xff0c;来简化您的分析和优化过程&#xff0c;并帮助您在搜索引擎排名上获得更好的结果。 什么是SEO&#xff1f;…

tomcat与自定义类加载器

类加载器与类的”相同“判断 类加载器除了用于加载类外&#xff0c;还可用于确定类在Java虚拟机中的唯一性。 不同类加载器加载的类在 JVM 看来是两个不同的类&#xff0c;因为在 JVM 中一个类的唯一标识是 类加载器类名(包括包名)。 类加载器种类 启动类加载器&#xff0c;…

phpstorm左边变黄,页面内跳转追踪等功能不好使了

第一种方法&#xff1a;删除项目根目录中.idea文件夹(确保删除成功)&#xff0c;然后再重新打开项目即可&#xff08;这个方法对我无效&#xff09; 第二种方法&#xff1a;点击File(文件)->Repair IDE(修复IDE)&#xff0c;按照右下角的指示一步步操作即可&#xff08;这种…

华为OD机试真题 Python 实现【静态代码扫描服务】【2023Q1 100分】

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出 一、题目描述 静态扫描快速识别源代码的缺陷&#xff0c;静态扫描的结果以扫描报告作为输出&#xff1a; 文件扫描的成本和文件大小相关&#xff0c;如果文件大小为N&am…

echarts折线图背景空白太大

1、没有调间距的效果&#xff1a; 2、更改间距后的效果&#xff1a; 3、其实只要更改grid定位值就行了&#xff0c;上代码&#xff1a; grid: {top: 20px,left: 20px,right: 20px,bottom: 20px,containLabel: true},4、将代码copy到option里面就行了

【中间件】Ngnix入门

文章目录 下载地址相关概念*反向代理&#xff1a;*负载均衡&#xff1a;轮询权重轮询iphash*动静分离 文件解释/conf/nginx.conf 基本使用双击运行&#xff08;不建议&#xff09;使用命令行 常用命令&#xff08;Linux下&#xff09; 下载地址 Nginx官网下载页 相关概念 *反…

IMX8QXP SPI CS片选连续传输模式

问题背景 在开发项目中&#xff0c;换了一个spi安全芯片&#xff0c;发现不能进行通信&#xff0c;查看spi信号波形&#xff0c;时钟&#xff0c;发送数据&#xff0c;片选都是正常的&#xff0c;但没有回复数据。安全芯片技术正常通过查看CS片选波形信号&#xff0c;提出CS片选…

Appium: Windows系统桌面应用自动化测试(一)

Appium: Windows系统桌面应用自动化测试 一、方案调研二、环境搭建1、WinAppDriver环境搭建&#xff08;1&#xff09;开启开发者选项中的“开发人员模式”&#xff08;2&#xff09;windows sdk下载安装&#xff08;3&#xff09;WinAppDriver下载安装 2、appium环境搭建&…