方案介绍
使用具有脉冲输出的标准水表,对脉冲进行计数以测量用水量和成本。
这个项目是在我收到一大笔水费单时构思的,我想知道一个电器用了多少水,什么时候用的。我已经有自来水公司安装的水表,但它只告诉我安装后使用了多少。
我在网上搜索了一个智能水表,但没有找到,所以我决定使用 Particle Photon 和一个带脉冲输出的标准模拟水表来构建我自己的水表。水表有刻度盘和 8 位数字。表盘每十分之一升旋转一次。数字分为两部分,红色数字以升为单位测量水量,黑色数字以立方米为单位测量水量。脉冲输出每 10 升关闭一次,并保持关闭约 1 升。脉冲输出为一根 80cm 灰色护套电缆,包含一根黑线和一根红线。测试时,接入一个单刀双掷滑动开关来模拟继电器的闭合和断开。
为了测量使用的音量,我设计了一个非常简单的电路来确定继电器何时关闭,用 LED 指示这一点,将音量加 10,然后将其发布到 ThingSpeak。当继电器再次打开时,LED 会变回。
这工作正常,但是当它找不到网站时,光子似乎挂起,无论是因为互联网连接速度慢还是 WiFi 掉线。这导致 Photon 重新启动,并且由于数据在重新启动后不会持续存在,因此测量的水量丢失了。
最初我使用 Photon 代码中的循环来运行所有处理和计算,但是当 Photon 一直挂起时,我将进程拆分并添加线程以独立运行每个部分。这有助于诊断重新启动光子的问题是它失去了 WiFi 连接。这可能是由于靠近电源线和车库中 Photon 的位置,WiFi 信号必须穿过几堵墙。我已经连接了 Photon Kit 的外部天线,但我没有意识到它必须被激活。一旦我将“WiFi.SelectAntenna(EXTERNAL)”放入设置函数中,Photon 就会保持并可以与网络通信。
板载迷你蓝色 LED 用于指示水表代码正在工作。虽然不是必需的,但它提供了一个感觉良好的因素。多色 LED 指示 Photon 的状态;继电器打开、继电器关闭并与 Internet 通信。选择的别针/颜色是随机的,可以选择更好地指示状态。
1.继电器打开(红绿=黄)
2. 继电器关闭(红色和蓝色 = 洋红色)
3. 中继打开并与互联网通信(绿色)
4. 中继关闭并与互联网通信(蓝色)
该代码有几个有趣的点,增加了它的可靠性
1.使用线程保持主循环自由
2.使用外置天线保持WiFi连接
我需要重新编写一些代码,因为代码有点被破解,但原则是任何人都可以遵循的。
代码报告用水量,但稍作改动即可报告用水成本。这就是数据在 ThingSpeak 中的显示方式
什么时候用水,什么时候洗澡,什么时候用洗衣机和洗碗机,都很明显。我还可以看到软水器何时运行其再生循环。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !