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

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

电路

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

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

下图为实物图。

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

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

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

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

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

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

软件

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

终极目标是将提示信息显示在护士站的电脑上,要么是通过点亮病床号码旁边的 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 出一个湿度传感器

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

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

成功了!!!

下一步

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


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