先看咱家的辣椒:

网上淘来的小水泵:

电源,没打算用220v供电的,于是用电池供电。悲催的是原计划用4节供电,无奈MOS管驱动搞不定,只能提高电压,用6节电池供电。选出6节爱老婆电池:

MOS管驱动部分,用的三极管8050/8550给540N驱动:

主控用的PIC单片,随便捡的手头的一个闲置品,其实I/O只用了3个:

用的片内振荡,不好精确计算,所以用一个光敏电阻判断白天还是晚上,懒得处理了,光敏电阻就长长的焊着,还方便调节方向:

水泵电机找了一块废电路板,固定在上面:

各部分通过泡棉胶带安装在大泡沫上:

大的部分搞定之后,难点在于如何同时给两盆辣椒浇水,于是俺家领导给出了解决方案,俺用热熔胶完善了一下,完美三通:

测试环境:看见旁边的笔帽没?用来盖住光敏电阻就当是晚上了。

程序设定为,从白天到晚上的时候浇一次水,从晚上到白天的时候浇一次,一个小时以后再浇一次,一天总共浇三次。为了确保白天/晚上转换的时候判断不会因为偶尔的阴天错误,两次判断间隔1小时,发生转换时候的确认判决1.5小时。每次浇水水泵工作10秒,这样即便没水的情况下,水泵也不易损坏。
出门前准备了一大桶水。结果15天回来,水桶里只有一寸高的水。经检测,电池容量用去约700mAh。
回来以后的辣椒照片:


辣椒红了不少,叶子基本健全,就是叶片上多了些虫子,呵呵。
具体时间设置,不需要很精确,又没有实时时钟,不需要设定时间。
通过光敏电阻可以感知是白天还是晚上,剩下的问题就变成如何找到白天到晚上或者晚上到白天的转折点,用单片机作状态判定,并且用长时间(1小时间隔)复判去抖动的办法滤掉光线不稳定时期的干扰即可。
这样不但可以去除掉时间设定的困扰,还免去了使用单片机内部振荡器频率不稳导致的长时间定时不精确的问题。