忘关水龙头提醒

2019-05-10  
o(∩_∩)o “保护环境,珍惜水资源,人人有责哟~”        

[故事背景]: 
家里安装的反渗透净水器,水经过层层过滤(废水比1:1)之后,出水速度为 1L/min(每分钟1升)。小区用水高峰的时候,可能会再慢一些。
所以盛满热水壶、盛汤锅的时候,可能需要等待2分钟左右时间。我们会想着,先走开去忙点别的事情,马上就回来。结果有时,跑开后就忘记了这码事了(而且这水速,非常安静完全听不出声音),等到忽然发现的时候,往往好久以后了。我家过往半年就发生好几次,甚至写这篇内容的上周末,就是在浪费半个小时后才发现的。
Σ(っ °Д °;)っ 心疼丫!这流走的不仅仅是水费,还是地球宝贵的水资源啊。作为一枚从小就爱护大自然的娃娃,反思之后,认为单单在意识形态上,很难杜绝再次发生的。
恩那好,技术形态走起,咱们造新道具去~~

[需求整理]:
●A1 净水器的水龙头,如果连续开了2分钟,能够及时进行提醒;
●A2 如果此时正在提醒,水龙头一关,能够马上停止提醒;
●A3 如果未满足2分钟,此时水龙头关了重新开,能够重新计时(适合生活实际场景:装满热水壶后,随手关;紧接着,又开,去装汤锅);
[需求补充]:
●B1 安全要求。道具安装在厨房,应当避免使用220V的市电作为电源;充电宝也是不太符合安全;建议尝试采用电池;同时建议做好线路保护、防水保护;
●B2 功耗要求。能够以比较小的电力作为消耗,同时达到能够长时间使用;

[想法思路]:
●需要水流类的传感器,得知“水”流动或停止这个信息,同时转为电信号(满足A1);
●传感器若加在净水器的进水口前,因为关水龙头后,一般会有10来秒的排废水,可能机器内部还是会用一会水,不太满足A2;
●传感器若加在净水器的出水口后,能够满足A2,但要确保选用的传感器的工作方式,不会污染净化过的水质;
●用开发板设计软件逻辑,来进行计时、到时触发I/O等控制(满足A1+A3);
●利用开发板的休眠模式和看门狗功能,让“2分钟的等待”不是CPU空转计时方式,而是进入最低功耗的状态,然后定时唤醒检查时间是否满足(满足B2);
●采用纽扣电池等这类电池来供电(满足B1);
●用普通的透明封口袋,包括在道具的外层,做为基础的防水(满足B1);
●电路加保险管,防止意外情况下道具烧毁(满足B1);

[效果]:
-(≧∇≦)ノ  当然前提是已经满足上述的需求。当当当当,啦啦啦啦~
因为是无源蜂鸣器,所以可以播放自己想要的音符节拍,当前采用一段,自己日常哼过的小旋律;
另外地,供电方面,起初试验CR1220纽扣电池(电压为3V)的时候,开发板是驱动起来了(查阅了开发板的Datasheet,其实低压模式2.7V就满足);但是由于手头的无源蜂鸣器,要求是5V,在3V状态下几乎是不行的声音;那2颗纽扣电池吧(6V),VIN Pin输入给开发板,结果这板子此时最稳定要求6.2~12V(5V + 1.2V压降=6.2V);好吧,那索性换成9V的方电池;
简单测了功耗,如果不考虑电池的自放电的话,理论上能够撑到这块方电池的保质期(7年),到时间后只要再更换一块电池就可以继续嗨哈~
没水流的时候,电路完全断开;2分钟的等待时间里,测得工作电流为9mA;蜂鸣器响时,测得工作电流为70mA。

[核心材料]:
●ATtiny85开发板
●无源蜂鸣器
●水流传感器(常开型流水开关;磁力式原理,不污染水质)
●9V方电池(拆了之前坏了的万用表,电池刚好拿来这里用)

[其它]:
水流传感器,属于精密的组件,普遍“略娇嫩”。比如我采购的这款,留意到有2个限制:最大负载电流为100mA(商家建议用中继器来分开负载电路) + 防止水中杂质堆积卡住弹簧等(商家建议加过滤网)。
目前,我加装10Ω的电阻来降低进入传感器的工作电流,同时加上100mA的保险管(保险管还是不能省,要防止瞬时电流、环境潮湿等实际场景);传感器最终安装在净水器出水口的后端,也解决了杂质影响的问题。

o(*≧▽≦)ツ 互动: