
随着经济不断发展,市民收入与生活水平显著提高,人们对于健康也越来越重视,对饮用水尤其关注。但纵使在北京这样的大城市里,类似笔者的普通市民们,对水质安全也知之甚少。不过,从公布的《2015北京居民自来水水质抽样检测报告》里可略知一二:
“报告以TDS值、硬度、硝酸盐含量、总大肠菌群、细菌含量等18项关键指标为检测对象。据了解,净化过滤后的自来水从自来水厂输出后,其实就面临着输送管道老化、细菌繁衍,以及二次供水水箱微生物污染、清理不及时等安全隐患所带来的二次污染的危险。”

随后,笔者上网搜索了我国的水质检测指标,发现竟多达108项,主要分为感官指标、化学指标、毒理指标、细菌总数、总大肠菌群等2项微生物指标以及1项有机指标TOC(总有机碳)。而对水质指标的认定,往往是根据杂质的特性、污染的性质以及测定方法等因素,进行综合考虑。有些水质指标往往是由某一种物质的含量来表示,如铅、六价铬、挥发酚等;另有些水质指标是根据某一种类杂质的共同特性用间接方式来表示其含量,例如,水中有机物的类型繁多,不可能也无必要对他们逐个进行定性、定量的测定,而是用高锰酸盐指数、化学耗氧量和生化需氧量等水质指标来表示有机物的污染状况。这是考虑到水中有机物有易被氧化的共同特点,当采用不同的氧化途径时,可用氧化剂(或溶解氧)消耗的数量来间接表示水中有机物的含量;还有些水质指标则是用配制的标准溶液作为标度来表示其含量的,如浑浊度、色度等。

专业术语略显晦涩,换言之——使用水质检测模块来检测,然后再与标准水质参数比对即可得出水质的好坏。是否就明了许多?
考虑到我们人力有限,自是要借助神器的力量——“水质检测传感器”——模拟电导率计来粗略估计水质(如各位网友有更严格需求,建议对自来水进行采样并送到第三方检测机构)。电导率是物质传送电流的能力,是电阻率的倒数。水的电导是衡量水质的一个很重要的指标,本次水质检测也正是利用这个原理。
英特尔Edison开发套件可以基于ArduinoIDE环境开发,因此,我们选用了支持Arduino扩展接口的电导测量传感器,如下图所示:

电导传感器的输出信号较为简单,仅为一路模拟信号。在使用的时候,我们将信号与Edison开发板的A1接口即可。连接示意图如下图所示:

然后,我们再移植这下面的示例源代码到ArduinoIDE里,
void loop() {
if(millis()-printTime>=printInterval)
{ //temperature compensation formula: fFinalResult(25^C) = fFinalResult(current)/(1.0+0.0185*(fTP-25.0));
float TempCoefficient=1.0+0.0185*(temperature-25.0);
float CoefficientVolatge=(float)averageVoltage/TempCoefficient;
if(CoefficientVolatge<150)Serial.println("No solution!");
else if(CoefficientVolatge>3300)Serial.println("Out of the range!");
else
{
if(CoefficientVolatge<=448)ECcurrent=6.84*CoefficientVolatge-64.32; //1ms/cm
Serial.print(ECcurrent,2); //two decimal
Serial.println("ms/cm");}}}
接下来,我们将电导率电极和温度传感器插入校准溶液中,可以测量该溶液的电导率值。搅拌溶液,等待示数稳定。程序打印出来结果如下:

我们直接将结果去做对比即可。如天然水的电导率多在50-500uS/cm之间,矿化水可达500-1000uS/cm。
有关水质检测的硬件、软件与方法,在一定程度上可以检测到水质异常的情况,从而避免水质问题导致的身体不适等问题。但这些其实皆为水质安全的表象,根本还是在于提高全民环保的主动性,提升水资源的保护意识,从源头上保证水质、保障安全,方为重中之重。