非接触水栓+ドア連動制御: コロナ対策・感染症予防スマート衛生システム
プロジェクト背景と目的
COVID-19パンデミックを契機に、手洗い後の蛇口・ドアノブ接触による再汚染を防ぐ非接触衛生システムを低コスト(約11ドル/1,500円程度)で構築します。超音波センサーで手を検知し自動給水、手洗い完了後にIRセンサーで検知してドアを開錠する「手洗い必須」のアクセス制御を実現。オフィス・商業施設・家庭の玄関・トイレ等への導入に適しています。
システム構成と必要部品
| 部品 | 数量 | 役割 |
|---|---|---|
| Arduino UNO | 1 | 制御中枢 |
| 超音波距離センサー HC-SR04 | 1 | 手検知 (15cm以内で給水開始) |
| IR近接センサー | 1 | 手洗い後検知 (2cm以内でドア開錠) |
| SG90 マイクロサーボ | 1 | ドアロック機構駆動 (90°回転) |
| 1チャネルリレーモジュール | 1 | 水中ポンプ/電磁弁駆動用 |
| 水中ポンプ (または電磁弁) | 1 | 給水アクチュエーター (外部電源必要) |
| 16x2 RGBバックライトLCD (I2C推奨) | 1 | 状態表示・ガイダンス |
| ブレッドボード (電源レールのみ使用)・ジャンパーワイヤー | 1式 | 配線用 |
動作シーケンス
- 待機状態: LCDに「Wash your hands before you enter」表示
- 手検知 (超音波<15cm): リレーON → ポンプ駆動で給水開始、LCD「Hands detected / Wash hands - 20s」
- 手洗い完了 (超音波範囲外): リレーOFF → 給水停止、LCD「You are safe now」、内部フラグ
state=1セット - ドア開錠要求 (IRセンサー検知):
state=1の場合: サーボ90°回転で開錠、LCD「You may go in / 10 seconds left」、10秒後に自動施錠、初期画面に戻るstate=0の場合 (手洗いスキップ): LCD「Wash your hands to grant access」、開錠しない
ハードウェア実装のポイント
- 水中ポンプはリレー経由で外部電源 (5V/12V等) から駆動。Arduino出力ピン直結不可
- リレーチャタリング防止に
delay(1000)で最小ON時間確保 - 超音波距離計算:
distance = (duration/2) * (331.3/10000)(音速331.3m/s、cm単位) - IRセンサーはLOWアクティブ (物体検知でLOW出力)
- 実用化では電磁弁(ソレノイドバルブ)の方が確実・衛生的。自動ドアとはソリッドステートリレーで接続
コードの核心ロジック
// 超音波トリガー
digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
distance = (duration/2) * (331.3/10000);
// 給水制御
if (distance > 1 && distance < 15) {
digitalWrite(Relay, HIGH); state = 1;
} else {
digitalWrite(Relay, LOW);
}
// ドア制御
if (state == 1 && value == LOW) { // 手洗い済み + IR検知
servo.write(90); delay(10000); servo.write(0); state = 0;
} else if (state == 0 && value == LOW) { // 手洗いなし + IR検知
// アクセス拒否メッセージ表示のみ
}
派生・応用アイデア
- アルコール消毒液ディスペンサー化 (容器密閉必須・揮発防止)
- 自動スライドドア/自動ドアシステムとの連携 (SSR経由)
- 手洗い時間の強制カウントダウン表示・音声ガイダンス追加
- 複数ユーザー対応 (RFID/NFCで個人識別・ログ記録)
- IoT化 (ESP32等) で使用回数・異常検知をクラウド監視
注意事項
- 水漏れ対策: ポンプ・チューブ接続部の防水処理を確実に
- 電源: ArduinoはUSB給電、ポンプは別電源推奨 (ノイズ・電圧降下対策)
- 屋外/湿気環境では基板のコーティングまたは防水ケース必須
- サーボトルク不足時はMG996R等の高トルクサーボに置換
- 非常時手動開錠機構 (機械的非常解錠) を必ず併設すること
製造プロセス
- Raspberry Piでライントラッキングセンサー – シンプルなKY-033ドア/ライン検出器
- GY-91モジュールでRaspberry Pi上に堅牢な温度・センサーAPIを構築
- Raspberry Pi用DIY赤外線モーションセンサー構築 - ステップバイステップガイド
- スマートフォンのBluetooth近接検知でスマートオートロックドアを構築
- Raspberry Piでセンサーとアクチュエータを制御:加速度計、サーボ、データストリーミング
- Raspberry Piでホームセキュリティシステムを構築:PIRモーション検知+カメラメール通知
- Arduino Portenta H7にMAX6675でサーモカップル温度センサーを接続する
- K30 CO2センサで室内空気質をリアルタイム監視する
- スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
- マーポス、工作機械リアルタイム制御向けモジュラーシステム「BLÚ LT」を発表
- 皮膚型ソフト触覚センサー搭載ロボットグリッパーで精密把持を実現