题主追问比较多,补答一波。
还有一种传感器叫流量计。某宝上找得到,大多价格不菲。下图这种精度差些,不到20。DIY的话应该可以承受。
它是用脉冲来计流量。就是高低电平翻转,单位时间里翻转次数越多水流越快。用STM32的捕获功能对它再合适不过 。
您一直关心休眠,不知有什么问题?
若干秒或几百毫秒没有脉冲,就进入低功耗状态。STM32有低功耗状态有三种。如果您采用前述流量开关的话,可以进入最省电的待机状态。
流量开关启动,WKUP引脚被上拉,就唤醒了。
要是选择流量计的话,估计只能进入停机状态。
前面讲了,流量计是以脉冲方式输出。水流停止时,可能处于高电平,也可能是低电平。所以用外部中断来唤醒。
用个水流开关。
有一种很便宜的水流开关,内部有个霍尔开关。可以拿霍尔开关当STM32的WAKE_UP中断。
说实话,您用开启关闭时间来测水量相当粗糙。毕竟阀门可开大开小。