Arduino制御を行う
こちらでスイッチを手動で操作すれば乾熱と紫外線による消毒ができるようになりました。
ただしシリアルモニタで温度を監視しつつ時間を計測するという手作業が必要です。
手動での作業はできるだけ避けたいですし、イレギュラーなケースに対応できない場合もありますので、面倒なことはArduinoに任せてしまおうと思います。
やりたいこと
- ホットプレートや紫外線殺菌灯をArduinoから電源ON/OFFする
- センサーで状態を把握する
- 消毒完了までの時間を計測する
- 正常終了・異常終了時にはブザーで通知する
接続イメージ
処理の流れ
以下のような流れで作っていきます。
STEP.1
初期処理
電源ON または リセットボタンで初期処理が動きます。
setup関数のことです。
setup関数のことです。
STEP.2
処理開始
プッシュボタンを押すと処理が開始します。
STEP.3
ホットプレート加熱
SSRによりホットプレートの電源が入り加熱が始まります。
加熱中を示す黄色のLEDが点灯します。
加熱中を示す黄色のLEDが点灯します。
STEP.4
消毒処理
木箱中の空気の温度が50℃を超えたら消毒処理が始まります。
SSRで紫外線殺菌灯の電源を入れ、この時の時刻を控えます。
SSRで紫外線殺菌灯の電源を入れ、この時の時刻を控えます。
STEP.5
紫外線殺菌灯の動作確認
光センサーで紫外線殺菌灯の動作を確認します。
そのため、光センサーでチェックするのとそれほど変わらないと判断し、今回はGrove – Light Sensor v1.2 を使用しています。
紫外線殺菌灯の動作が確認出来たら、消毒中を示す緑色のLEDを点灯させます。
もし紫外線殺菌灯の動作が確認できなかった場合は、異常を示す赤色のLEDを点灯させてブザーを鳴らし、ホットプレートの加熱を停止します。
STEP.6
60分待つ
乾熱消毒70℃/60分間のデータに基づき、60分間ループします。
ループ中に異常状態になっていないかをチェックします。
異常状態とは、以下の2つのことです。
・紫外線殺菌灯が消えていないか、
・温度が50℃を下回ったり、80℃を上回っていないか
ループ中に異常状態になっていないかをチェックします。
異常状態とは、以下の2つのことです。
・紫外線殺菌灯が消えていないか、
・温度が50℃を下回ったり、80℃を上回っていないか
もしいずれかのエラーになっていた場合は、異常を示す赤色のLEDを点灯させてブザーを鳴らし、ホットプレートの加熱を停止します。
STEP.6
消毒完了
エラー状態になることなく60分間経過した場合には、消毒完了を示すブザーを鳴らして全てのLEDを消灯させ、ホットプレートの加熱を停止します。
MEMO
現在デバッグ・動作確認中ですので、確認が取れ次第ソースコードも掲載しようと考えています。
その際には使用したパーツリストも掲載いたします。