水槽温度検知ファンの実機デバッグ 息子が飼っているウーパールーパーの夏場の水温上昇対策ということで、冬に作った水槽温度検知ファン。 5V扇風機とESP32とリレーモジュールの組み合わせだが、今日は暑かったらしく13時にファンが回ったLINE通知が初めて来た。 もちろん職場にいたので本当にファンが回っているかどうかはわからない。が、自分が作ったものをとりあえず信用しようということでやり過ごす。ところが、問題はその後である。(おそらく)25℃を超える→FANが回り出す(通知)→1分くらい回って冷えて25℃を切る→止まる(通知)→(止まると)水温が上がって25℃を超える→FANが回り出す(通知)以下、ループが3分おきくらいに発生してLINEの通知の嵐になってしまった。なるほど、期待通りに制御はされていて、ちゃんとファンは回って、水温は冷えて(というか、25℃をキープして)いるんだ。だけど、こんなに通知が来るとは!(設計通りです、けどね)。帰宅する直前にも動いていたので、おそらくは帰宅しても温度はそのあたりだろうということで、チャリンコを頑張って漕いで帰宅すると18時過ぎてもファンが回った。回って30秒くらいで停まる。ふむふむ・・。ヒステリシス曲線のように多少冷えてもファンを回し続けて十分温度を下げてから停止とか、25℃を超えてからファンを回して例えば23℃を切ったら停止、とか、もう少し凝った制御しないと25℃を境にON/OFFを繰り返してしまうわけだ。それはそれで良い気もする。が、その部分だけ通知を切るとかも面倒だし、動いているか停まっているかは知りたいので通知はしてくれた方がいい。 問題は通知の回数を減らすことと、水温を下げることの両立だ。簡単に解決するにはとりあえず、回ったら10分は回す、とかで逃げるのが良いかも。ということで、プログラムを変更して焼き直してみた。 赤い方が日衛門で、黒い方が月之進である(息子命名)。結構デカくなった。