27.非接触手洗い装置 (2021.5.29-2021.6.13)
実はこの装置、元はと言えば「30.自動ミニトマト栽培機」の水補給用にと考えたものですが、ソレノイドを用いた電磁弁式の安価なものが見つかったため、別に転用することにしたものです。水栓コックを自動開閉できることから、本来の簡易手洗い装置はどうかと考えました。こちらも電磁弁の方が楽なのですが、せっかくの部品類を有効活用しようとの目論見です。手元のOSOYOOのキットの中には人感センサーやリレーユニットもあるので、これと組み合わせて非接触にすれば面白そうです。ちょうどコロナ対策の手洗いにもなるし、一石二鳥ではないでしょうか。庭の草取り等をして手が汚れたら、水道の無い外でもサッと手をかざして手洗いできるので、あればそれなりに便利に使えると思います。
手洗い装置のコックを開閉する動力源には、タミヤ製の模型用ギアボックスを利用します。いくつか候補があった中で、実際に購入したのは下図のキットです(No.110/税込668円)。入手の都合で当初予定したモデル(No.3かNo.84)とは異なりましたが、ハイパワー・ハイトルクでたぶん使えるだろうとの目算です。モーター込みでこの価格は安いです。モーター自体は高速回転しますが、多段ギア(1:1543)で毎分8.5回転に減速しています。先端にカムが付いているので、ここにビスを立ててコックの回転レバーを回すような形にします。コックは180度毎に全開状態になるため、90度回転しては止めるようにします。つまり1シーケンスで2回の回転/停止を行い、全体で180度の回転を実行するわけです。この方法だと安価にはできますが、サーボモーターのように正確な位置決めはできません。コックにも遊びがあってそれほどシビアな制御は必要無いため、手作りのカムとスイッチを使ってモーターのON/OFF制御をします。
キットを組み立てると下図ようになります。説明書通りギアや軸受けにグリスを塗っていたら、手が油でベトベトになってしまいました。組み立ては簡単なので、15分もあれば完成すると思います。途中のギアに簡易的なクラッチ機構も入っていて、なかなか良くできていると感心しました。
これをアクリル板のベースに取り付け、更に水栓コックを着脱できるように、取り付けを工夫します。実用化を重視するなら、メカ部分や電気系統に水がかからないよう防水を考えねばなりません。更に屋外なので防塵対策も必要です。(今回はそこまで望みません)
手洗い装置にはセンサーを2個使います。1個は手を水栓コックの下にかざした時に反応する人感(モーション)センサー、もう1個は栓の開閉位置を検出するスイッチです。全開・全閉位置は90度毎に訪れます。閉(0度)→開(90度)→閉(180度)→開(270度)→閉(360度)で元に戻るわけです。実現には動力源の回転軸に4ヶ所のへこみが付いたカムを付け、これでマイクロスイッチをON/OFFするようにします。へこみ部分でスイッチがOFFになることでモーターを停止するのです。再びモーターを回転させるために、スイッチと並列にリレーの接点をつなぐことで、リレーによるモーターONを可能にします。そのトリガーには人感センサーを使います。センサーが人の動き(手をコックの下にかざす)を感知すると一定時間(2秒程度)モーターを回すことで、軸が回転してカムが回りOFFだったスイッチがONになります。短時間ですがこの間はリレーがONでなければならないため、必要なパルス幅はRasPiで作り出して供給します。次にOFFになるまではスイッチによって通電を続けるため、水栓の開閉制御が可能になるわけです。
定格の1.5Vだとモーターの回転が遅いため、栓の開閉にやや時間がかかります。3Vだと回転は程良いのですが、カムが惰性で回り過ぎて再びスイッチが入ってしまうため、感触としては2V程度が妥当なところです。本当はカムの溝を長くして対処すべきですが、エポキシで軸に固定してしまったため修正が困難なことから現状での妥協となりました。確実な動作の方が重要なので、乾電池1個で1.5V駆動とします。モーターの駆動時間はかなりアバウトで、実際に使用した感触で適当なタイミングを図っています。下図は装置の全体像になります。水タンクはペットボトルの空きボトルを流用しています。タンクが汚れたり痛んでも簡単に取り替えられて便利です。
拡大したのが下図です。一番右にあるのはモーターをON/OFFするリレーユニットで、その左にカムが見えます。中央はギアボックス、左はペットボトルと水栓コック、奥がモーター駆動用の電池になります。リレーユニットにはGPIOに直結できるようにトランジスタ・ドライバが入っているので、駆動回路が簡単になります。
カムの形状がわかるように軸方向から見た図です。カムには4ヶ所の溝があり、モーターによって左回りに90度ずつ回転します。図は栓を閉じた状態で停止しており、ここが出発点となります。本来は必ずこの位置が初期位置になるようにセンサーを使って制御する必要がありますが、本装置では簡略化のため省略しています。万一90度ずれた位置になった場合は、リレーの接点を強制的にショートしてモーターを回転させ、初期位置にセットしなければなりません。何度もテストしましたが、普通に動作している限りは途中で動作不良が起こってずれることは無さそうです。
人感センサーはOSOYOOのセットに入っていたものがあったので、これを有効活用することにします。チェックでは結構感度が高く、指向性もあまり無いようです。人感センサーは赤外線を検出するものですが、別名モーションセンサーと言われるように、動きに反応して検出を行います。手がセンスエリアに入ったところで、センサー出力がL→HとなってRasPiにトリガー信号を送ります。その後は検出が不安定になったとしても一定時間栓を開いた状態を維持すれば良いため動作に支障ありません。
ペットボトルは着脱式になっていて、下図においてボトルを右に回して栓と栓回転アームを引き離せばボトルを引き上げることができます。
栓と栓回転アーム部を拡大しました。2本のビスが栓を挟み込むようにしています。アーム部は左回りに回転します。とても原始的ですが、カムのメカニカルな動きがあって、いかにも電子工作と言った趣です。
ペットボトルを抜いた後の支持部分です。ペットボトルの水放出部分が、受け部品にうまくはまるようになっています。丁度内径がぴったり合う部品(ホームセンターの水道用品売り場で発見)があったので、一方を加工して作りました。
手洗い装置を下から見たところです(改良のためこれまでの写真と一部異なります)。中央下寄りに付いているのが人感センサー(ドーム状のカバー付)です。水放出部の下20~30センチ位に手をかざすとセンサーが検知し、栓が開いて水が流れ落ちる仕掛けです。センサーはボリュームで感度と遅延時間を調整できます。本装置ではいずれもMIN(左一杯に回した状態)に設定しています。
全体の回路は次のようなものです。RasPiとの接続は、人感センサーの検出信号入力にGPIO23(16ピン)、リレー駆動出力にGPIO24(18ピン)を使用します。制御に使用したRasPiは初期のモデルAです。今となっては処理能力が低くて起動やアプリの使用にイライラする面もありますが、こうしたテスト運用に格下げして有効活用するつもりです。
そして、これが手洗い装置のプログラムです。
待機状態の装置は1秒ごとにWAITを延々と表示続けます。水栓コックの下に手をかざしてセンサーに検出されると、DETECTを表示して水栓を開く動作を始めます。
プログラムはタイマーを利用した単純なものです。本来は人感センサーによる割り込みを使い、待ち時間は他の作業に専念できるようにすべきですが、それはまたの機会の課題としたいと思います。RasPiを使った実用装置として、今回は電子工作的なアイテムを製作しました。これを皮切りに、今後も色々なものにチャレンジして行きたいと思います。
実を言うと、昭和の時代に屋外(主にトイレ)での手洗い用として、写真のような吊り下げ式の手洗い器がありました。まだ水洗トイレなど無い時代でトイレも外にある事が普通で、多くの家庭の軒先にあったものです。調べたところ、今でも同様のものは売られていて、アウトドア用等に重宝されているようです。下から突き出た棒を手で上に押すと水が出て、ポンポンと繰り返し押しながら手を洗うものです。常に流水で棒の部分も洗浄されて衛生的だし、動力を使わないので何よりもエコです。まさに省エネ・コロナ時代でも実用的な優れもので、素晴らしい発明品だと思います。今回はRasPiで手洗い器を作ったわけですが、こんなにシンプルで実用的な器具が昔からあったと言うことですね。