banner

多功能输液助手

icon
发布时间:2021-05-31

【主旨】

智能爱心工具

【其他主题】

帮助输液患者和护士

【概述】

       在医院里有很多患者需要输液,在漫长的输液等待中病人往往会因为精神状态不佳而犯困睡着,而护士也因为要忙很多的事情未能守护在病人旁边,当液体输完后不能及时截流往往会导致病人回血等事情发生。这样的伤害也曾在我的身边发生过,所以亲眼目睹过后我决定为他们设计一款能够提醒输液的状态的仪器,同时能够提醒病人和护士及时进行截流等善后工作。这就是我们研究发明该项目的初衷。 

 

步骤2功能简介

      本项目是基于物联网和相关单片机及电子传感器的实现非接触式测温和输液报警系统

【功能简介】

      (1)非接触式测温功能:利用非接触式红外温度传感器测温。红外测温是根据被测物体的红外辐射能量来确定物体的温度,不与被测物体接触,不影响被测物体温度场,并且温度分辨率高、响应速度快、稳定性好  。 

      (2)对输液管内是否有液体的检测和提醒系统:由非接触式小管径液位传感器模块可以检测到管内是否有液体,可以在客户端和自制手机APP端发出警报提示。

步骤1 准备原材料

单片机使用了arduino  NANO板及拓展板,传感器及其他材料如图所示

projectImage
步骤2 结构设计

本作品外观结构使用了激光切割椴木板制作成一个盒子状的外壳,使用的图形设计软件为马尔克斯桌面式激光切割机的软件LightBurn。在盒子的正面和反面都有该产品的蓝牙名称。由于第一次设计欠妥当,最后又进行了改良版,第二版将电池盒设计到盒内,外观处加了船型开关。

projectImage
projectImage
projectImage
步骤3 电路的连接

本作品的非接触式红外测温传感器和0.96寸OLCD显示屏都是IIC接口,NANO拓展版的IIC口只有一个,因此我们采用DF家的IIC分线模块将两个模块进行并联。

projectImage
步骤4 程序编写和调试

程序分为两部分,第一部分为arduino NANO 端的程序,用mind+软件编辑;第二部分程序为手机app端的程序,用app inventor平台设计。

projectImage
projectImage
projectImage
projectImage
步骤5 对产品进行封装及测试

本次产品封装进行了两次设计,第一次尺寸略小,经过第二次改版后,整体外观有所改善。

projectImage
projectImage
projectImage
projectImage
projectImage
硬件清单
1x
Nano V3.0 ATmega328P
1x
NANO UNO 多用 扩展板
1x
DFRobot 小管径液位传感器
1x
DFRobot非接触式红外温度传感器 SEN0206
1x
DFRobot Gravity:I2C分线模块
1x
0.96寸OLED显示屏模块
1x
蓝牙2.0透传模块
1x
无源蜂鸣器模块
1x
按钮开关模块
2x
18650锂电池3.7V 3000mAh
1x
18650电池盒
1x
船型开关
1x
杜邦线
代码
/*!
 * MindPlus
 * nano
 *
 */
#include <DFRobot_MLX90614.h>
#include <DFRobot_Libraries.h>
#include <DFRobot_SSD1306_I2C.h>

// 动态变量
volatile float mind_n_CeYeTiKaiGuan;
// 静态常量
const chCode chBuf[] = {
	{0x6d4b,0xe6b58b,0xB2E2,{0x00,0x04,0x27,0xc4,0x14,0x44,0x14,0x54,0x85,0x54,0x45,0x54,0x45,0x54,0x15,0x54,0x15,0x54,0x25,0x54,0xe5,0x54,0x21,0x04,0x22,0x84,0x22,0x44,0x24,0x14,0x08,0x08}},
	{0x6e29,0xe6b8a9,0xCEC2,{0x00,0x00,0x23,0xf8,0x12,0x08,0x12,0x08,0x83,0xf8,0x42,0x08,0x42,0x08,0x13,0xf8,0x10,0x00,0x27,0xfc,0xe4,0xa4,0x24,0xa4,0x24,0xa4,0x24,0xa4,0x2f,0xfe,0x00,0x00}},
	{0x8bf7,0xe8afb7,0xC7EB,{0x00,0x40,0x40,0x40,0x27,0xfc,0x20,0x40,0x03,0xf8,0x00,0x40,0xe7,0xfe,0x20,0x00,0x23,0xf8,0x22,0x08,0x23,0xf8,0x22,0x08,0x2b,0xf8,0x32,0x08,0x22,0x28,0x02,0x10}},
	{0x6309,0xe68c89,0xB0B4,{0x10,0x40,0x10,0x20,0x10,0x20,0x13,0xfe,0xfa,0x02,0x14,0x44,0x10,0x40,0x1b,0xfe,0x30,0x88,0xd0,0x88,0x11,0x08,0x10,0xd0,0x10,0x20,0x10,0x50,0x50,0x88,0x23,0x04}},
	{0x94ae,0xe992ae,0xC5A5,{0x10,0x00,0x11,0xf8,0x3c,0x48,0x20,0x48,0x40,0x48,0xbc,0x48,0x10,0x48,0x11,0xf8,0xfc,0x88,0x10,0x88,0x10,0x88,0x10,0x88,0x14,0x88,0x18,0x88,0x13,0xfe,0x00,0x00}},
	{0x8f93,0xe8be93,0xCAE4,{0x20,0x40,0x20,0xa0,0x21,0x10,0xfa,0x08,0x25,0xf6,0x40,0x00,0x53,0xc4,0x92,0x54,0xfa,0x54,0x13,0xd4,0x1a,0x54,0xf2,0x54,0x53,0xd4,0x12,0x44,0x12,0x54,0x12,0xc8}},
	{0x6db2,0xe6b6b2,0xD2BA,{0x00,0x80,0x20,0x40,0x17,0xfe,0x11,0x20,0x81,0x20,0x42,0x3c,0x42,0x44,0x16,0x64,0x12,0x94,0x23,0x48,0xe2,0x48,0x22,0x30,0x22,0x20,0x22,0x50,0x22,0x88,0x03,0x06}},
	{0x62a5,0xe68aa5,0xB1A8,{0x10,0x00,0x11,0xfc,0x11,0x04,0x11,0x04,0xfd,0x14,0x11,0x08,0x11,0x00,0x15,0xfc,0x19,0x44,0x31,0x44,0xd1,0x28,0x11,0x28,0x11,0x10,0x11,0x28,0x51,0x44,0x21,0x82}},
	{0x8b66,0xe8ada6,0xBEAF,{0x24,0x20,0xff,0x20,0x24,0x7e,0x7e,0xc4,0x82,0x28,0x7a,0x10,0x4a,0x28,0x7a,0xc6,0x05,0x00,0xff,0xfe,0x00,0x00,0x3f,0xf8,0x00,0x00,0x3f,0xf8,0x20,0x08,0x3f,0xf8}},
	{0x529f,0xe58a9f,0xB9A6,{0x00,0x40,0x00,0x40,0x00,0x40,0xfe,0x40,0x11,0xfc,0x10,0x44,0x10,0x44,0x10,0x44,0x10,0x44,0x10,0x84,0x10,0x84,0x1e,0x84,0xf1,0x04,0x41,0x04,0x02,0x28,0x04,0x10}},
	{0x80fd,0xe883bd,0xC4DC,{0x10,0x40,0x24,0x44,0x42,0x48,0xff,0x70,0x01,0x40,0x00,0x42,0x7e,0x42,0x42,0x3e,0x42,0x00,0x7e,0x44,0x42,0x48,0x42,0x70,0x7e,0x40,0x42,0x42,0x4a,0x42,0x44,0x3e}},
	{0x8fde,0xe8bf9e,0xC1AC,{0x00,0x40,0x20,0x40,0x17,0xfe,0x10,0x80,0x00,0xa0,0x01,0x20,0xf3,0xfc,0x10,0x20,0x10,0x20,0x10,0x20,0x17,0xfe,0x10,0x20,0x10,0x20,0x28,0x20,0x47,0xfe,0x00,0x00}},
	{0x63a5,0xe68ea5,0xBDD3,{0x10,0x80,0x10,0x40,0x13,0xfc,0x10,0x00,0xfd,0x08,0x10,0x90,0x17,0xfe,0x10,0x40,0x18,0x40,0x37,0xfe,0xd0,0x88,0x11,0x08,0x10,0x90,0x10,0x60,0x51,0x98,0x26,0x04}},
	{0x84dd,0xe8939d,0xC0B6,{0x08,0x20,0x08,0x20,0xff,0xfe,0x08,0x20,0x04,0x80,0x24,0x80,0x24,0xfc,0x24,0xa0,0x25,0x10,0x00,0x00,0x3f,0xf8,0x24,0x48,0x24,0x48,0x24,0x48,0xff,0xfe,0x00,0x00}},
	{0x7259,0xe78999,0xD1C0,{0x00,0x00,0x3f,0xfc,0x00,0x40,0x00,0x40,0x10,0x40,0x10,0x40,0x20,0x40,0x3f,0xfe,0x01,0x40,0x02,0x40,0x04,0x40,0x08,0x40,0x10,0x40,0x60,0x40,0x01,0x40,0x00,0x80}},
	{0x4f53,0xe4bd93,0xCCE5,{0x08,0x40,0x08,0x40,0x08,0x40,0x10,0x40,0x17,0xfc,0x30,0x40,0x30,0xe0,0x50,0xe0,0x91,0x50,0x11,0x50,0x12,0x48,0x15,0xf4,0x18,0x42,0x10,0x40,0x10,0x40,0x10,0x40}},
	{0x5b8c,0xe5ae8c,0xCDEA,{0x02,0x00,0x01,0x00,0x7f,0xfe,0x40,0x02,0x80,0x04,0x1f,0xf0,0x00,0x00,0x00,0x00,0x7f,0xfc,0x04,0x40,0x04,0x40,0x04,0x40,0x08,0x44,0x08,0x44,0x10,0x44,0x60,0x3c}},
	{0x4e86,0xe4ba86,0xC1CB,{0x00,0x00,0x7f,0xf8,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00}},
	{0x5148,0xe58588,0xCFC8,{0x01,0x00,0x11,0x00,0x11,0x00,0x1f,0xf8,0x21,0x00,0x41,0x00,0x01,0x00,0xff,0xfe,0x04,0x40,0x04,0x40,0x04,0x40,0x08,0x40,0x08,0x42,0x10,0x42,0x20,0x3e,0xc0,0x00}},
	{0x622a,0xe688aa,0xBDD8,{0x08,0x20,0x08,0x28,0x7f,0x24,0x08,0x20,0xff,0xfe,0x14,0x20,0x22,0x24,0x7f,0xa4,0xa4,0x24,0x3f,0x28,0x24,0x28,0x3f,0x10,0x24,0x12,0x3f,0xaa,0x20,0x46,0x20,0x82}},
	{0x6d41,0xe6b581,0xC1F7,{0x00,0x80,0x20,0x40,0x17,0xfe,0x10,0x80,0x81,0x10,0x42,0x08,0x47,0xfc,0x10,0x04,0x10,0x00,0x22,0x48,0xe2,0x48,0x22,0x48,0x22,0x48,0x22,0x4a,0x24,0x4a,0x08,0x46}},
	{0x957f,0xe995bf,0xB3A4,{0x08,0x00,0x08,0x10,0x08,0x20,0x08,0x40,0x08,0x80,0x09,0x00,0x08,0x00,0xff,0xfe,0x0a,0x00,0x09,0x00,0x08,0x80,0x08,0x40,0x09,0x20,0x0a,0x18,0x0c,0x06,0x08,0x00}},
	{0x7ea2,0xe7baa2,0xBAEC,{0x10,0x00,0x10,0x00,0x21,0xfc,0x24,0x20,0x44,0x20,0xf8,0x20,0x10,0x20,0x20,0x20,0x40,0x20,0xfc,0x20,0x40,0x20,0x00,0x20,0x1c,0x20,0xe0,0x20,0x43,0xfe,0x00,0x00}},
	{0x8272,0xe889b2,0xC9AB,{0x08,0x00,0x08,0x00,0x1f,0xe0,0x20,0x20,0x40,0x40,0xbf,0xf8,0x21,0x08,0x21,0x08,0x21,0x08,0x3f,0xf8,0x20,0x00,0x20,0x02,0x20,0x02,0x20,0x02,0x1f,0xfe,0x00,0x00}},
	{0x505c,0xe5819c,0xCDA3,{0x10,0x80,0x10,0x40,0x17,0xfc,0x20,0x00,0x23,0xf8,0x62,0x08,0x63,0xf8,0xa0,0x00,0x2f,0xfe,0x28,0x02,0x23,0xf8,0x20,0x40,0x20,0x40,0x20,0x40,0x21,0x40,0x20,0x80}},
	{0x6b62,0xe6ada2,0xD6B9,{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x11,0x00,0x11,0x00,0x11,0xf8,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0xff,0xfe,0x00,0x00}},
	{0x2103,0xe28483,0xA1E6,{0x60,0x00,0x91,0xf4,0x96,0x0c,0x6c,0x04,0x08,0x04,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x08,0x00,0x0c,0x04,0x06,0x08,0x01,0xf0,0x00,0x00}}
};
// 创建对象
DFRobot_SSD1306_I2C oled12864;
DFRobot_Tone        DFTone;
DFRobot_MLX90614    mlx90614;


// 主程序开始
void setup() {
	Serial.begin(9600);
	oled12864.begin(0x3c);
	oled12864.setChCode(chBuf);
	for (int index = 0; index < 3; index++) {
		oled12864.fillScreen(0);
		oled12864.setCursor(36, 1);
		oled12864.print("wating...");
		delay(200);
		oled12864.fillScreen(0);
		oled12864.setCursor(36, 1);
		oled12864.print("wating....");
		delay(200);
		oled12864.fillScreen(0);
		oled12864.setCursor(36, 1);
		oled12864.print("wating.....");
		delay(200);
		oled12864.fillScreen(0);
		oled12864.setCursor(36, 1);
		oled12864.print("wating....");
		delay(200);
		oled12864.fillScreen(0);
		oled12864.setCursor(36, 1);
		oled12864.print("wating...");
		delay(200);
	}
	oled12864.fillScreen(0);
	oled12864.setCursor(0, 0);
	oled12864.print("测温请按按钮");
	oled12864.setCursor(0, 2);
	oled12864.print("输液报警功能请连接蓝牙");
	mind_n_CeYeTiKaiGuan = 0;
}
void loop() {
	Serial.println(Serial.read());
	if ((Serial.read()==57)) {
		mind_n_CeYeTiKaiGuan = 1;
	}
	if (((digitalRead(9)==0) && (mind_n_CeYeTiKaiGuan==1))) {
		Serial.println("0");
		oled12864.fillScreen(0);
		oled12864.setCursor(0, 0);
		oled12864.print("液体输完了");
		oled12864.setCursor(0, 1);
		oled12864.print("请先截流");
		oled12864.setCursor(0, 2);
		oled12864.print("长按红色按钮停止报警");
		delay(500);
		Serial.println("0");
		while (!(digitalRead(4) || (Serial.read()==48))) {
			DFTone.play(12, 262, 500);
			DFTone.play(12, 262, 500);
			DFTone.play(12, 392, 500);
			DFTone.play(12, 440, 500);
		}
		mind_n_CeYeTiKaiGuan = 0;
	}
	if (digitalRead(4)) {
		while (!(digitalRead(4)==0)) {}
		DFTone.play(12, 698, 250);
		Serial.println(mlx90614.getObjectTempC());
		oled12864.fillScreen(0);
		oled12864.setCursor(42, 2);
		oled12864.print((String(mlx90614.getObjectTempC()) + String("℃")));
		delay(500);
	}
}
附件
icon 齐思维、吴俊翰_多功能输液报警器.zip 983KB
下载
队伍名称 智趣元老 参赛组别 小学
参赛学生 齐思维 石嘴山第六小学 吴俊翰 石嘴山市第十六小学
指导老师
陈泊鑫 智趣机器人课堂
指导老师
李雨霏 智趣机器人课堂