返回 登录
0

如何用树莓派 DIY 出一个湿度传感器

原文: Creating a moisture sensor with Raspberry Pi
作者: Bissett,毕业于英国布拉德福德大学,主修化学和法医学;现修电子电力工程 HND(英国高等教育文凭项目),在 AB Open(开源技术咨询平台,客户多为半导体公司、组件分销商、设备制造商和服务供应商)实习。
译者: 张新慧
寻求 IoT 报道或投稿、给文章纠错,请发送邮件至mobilehub@csdn.net。微信联系 jiaweidi1214,备注“姓名+公司+职位”(以便更快审核通过),加入“CSDN 物联网技术交流群”,与作者及更多专家、技术同行进行 IoT 技术交流。

背景

我在之前的文章中谈到尝试用树莓派上的 GPIO(通用输入输出接口)连接硬件,还表示想由此进一步 DIY 一个湿度传感器,造福 NHS(英国国家医疗服务系统)病房中那些卧床不起的病人,帮助他们提升健康并重建尊严。

布拉德福德教学医院 NHS 信托基金会下的病房规定每四小时检查一次病人的床单。但问题是,如果 9 点刚刚查过,9 点 15 分某病人尿床了,那么剩下的 3 个小时 45 分钟内他将在潮湿的被褥里度过。

这对人的尊严是巨大打击,且会造成极大的健康风险。比起干燥皮肤,潮湿的皮肤更易破损或感染褥疮,医疗成本会大幅增加。褥疮病例每日治疗成本是£43-£374;褥疮若无并发症,每日治疗成本是£43-£57(Bennett, Dealey and Posnett, 2012)。英国平均住院天数为 5.6 天(来源:健康和社会保健信息中心,2013),在此期间因褥疮而延长的住院天数平均为 5-8 天(Bennett, Dealey and Posnett, 2012)。无并发症的治疗成本最低,为£215(£43 x 5 天),有并发症的治疗成本最高,可达£2992(£374 x 8 天)。

DIY 的简易电子设备真可以解决病房中这一日常问题吗?

解决方案

一个晶体管、几个电阻器和一个树莓派就能做成一个简易湿度传感器。

我认为组件数量越少越好,因为制造和维护的成本越低,被推广使用的几率也就越大。

湿度传感器电路见下文中用 Fritzing 制作的模拟电路原理图。

电路

下图为实物图。

原理很简单:空气不能导电,电极之间阻力太大,无法形成导电的闭合电路来点亮 LED 灯。

当电极置于水中——或者钠、钾、肌酸酐和其他带电离子,任何可以导电的液体——就能形成闭合电路,点亮 LED 灯。

下图为 LED 灯被点亮,说明电路通了。

电路没问题后,把 LED 灯换成树莓派。

软件

终极目标是将提示信息显示在护士站的电脑上,要么是通过点亮病床号码旁边的 LED 灯,要么让病床号码直接显示在屏幕上。写上篇文章时,我已成功操控了 LED 灯,这次加大难度,尝试将求助信息打印出来。

首先打开文本编辑器,导入 GPIO 和运行时库,因为两个都会用到。
指示树莓派使用 GPIO 引脚(pin)名字而不是数字,应输入 GPIO.setmode(GPIO.BCM) BCAM,通过设定变量将引脚 23 定义为集电极(collector=23)。

GPIO.setup(collector, GPIO.IN, pull_up_down=GPIO.PUD_UP)在 pin 23 上形成上拉电阻,使逻辑电平保持为 1(True);当线路接地,也就是电极接触到水时,逻辑电平为 0(False),打印出“请求帮助”。

最后一行代码对此作定义。time.sleep(0.2)指示树莓派每 0.2 秒重新评估电路状态。现实情况下不必要,将评估和发出提示的时间间隔定为每 5 分钟左右即可,但由于还在测试阶段,设定成 0.2 秒主要为了确保电路为闭环,状态正常。

现在重点来了!将电路连接到树莓派上的 GPIO pin 23 以及 GND pin,如下图所示,开始测试。

我将电极放在水中,默默祈祷求助信息能够成功发送。

成功了!!!

下一步

湿度传感器 DIY 成功啦,下一个挑战将是提升其使用体验。没人想在身子底下安一排线路,多难受啊。我计划用导电线代替电线,缝进棉被里作为产品原型,然后想想怎样让树莓派把信息发送至护士站,还要建立一个信息库,长期生成的数据趋势图能让护士工作更有效率,节省时间。


评论