Arduinoで作る非接触スマート手指消毒ディスペンサー:DIY完全ガイド
必要なパーツと用品
| パーツ | 数量 |
|---|---|
| Arduino Nano R3 (または互換ボード) | 1 |
| 超音波センサー HC-SR04 (SparkFun品推奨) | 1 |
| サーボモーター MAKERFACTORY MF-06 (メタルギア推奨) | 1 |
| ジャンパーワイヤー (メス-メス) | 1式 |
| アルコールベース手指消毒液 (プッシュボトルタイプ) | 1本 |
| セルフタッピングネジ | 1 |
| プラスチックケース (プロジェクトボックス) | 1 |
| 錫メッキ銅線 0.8mm (約0.5m) | 1 |
| UTSOURCE電子パーツ (必要に応じて) | 1式 |
必要な工具
- ホットグルーガン
使用アプリ
- Arduino IDE
プロジェクト概要
世界的な感染症流行の今、WHO(世界保健機関)は手洗い・手指消毒の徹底を呼びかけています。しかし、ボトルに直接触れて押す方式では、せっかくの消毒が台無しになりかねません。このチュートリアルでは、非接触で動作するArduinoベースの手指消毒ディスペンサーをDIYで作る方法を解説します。
用意するもの
電子部品
- Arduino Nano (または任意のArduino)
- 超音波センサー HC-SR04
- サーボモーター (メタルギア推奨・トルク重視)
- ジャンパーワイヤー (メス-メス)
工具
- ホットグルーガン
- PC (コード書き込み用)
その他
- アルコールベース手指消毒液 (最重要) - プッシュ式ボトル入りのもの
- セルフタッピングネジ (1本)
- 銅線 0.8mm (約0.5m)
- プラスチック容器 (全部品が収まるサイズ)
- マーカー、定規
ステップ1:動画で全体像を把握
まずは制作動画をご覧ください。
ステップ2:液体の選定
WHO推奨のアルコールベース手指消毒液を用意します。今回は「ディスペンサー機構自体は作らず、既存のプッシュボトルを活用する」方式なので、ポンプ式ボトルが必須です。
ステップ3:部品選定の理由
センサー: 非接触トリガーとして、赤外線センサー (安価だが誤動作あり) と超音波センサー HC-SR04 (2cm以上で高精度、やや高価) の選択肢があります。本チュートリアルでは確実性を重視し超音波センサーを採用。
アクチュエーター: ボトルノズルを押下する機構が必要です。ポンプをボトル内に入れると密封性が損なわれるため、外部から機械的に押す方式を採用。高トルクなメタルギアサーボが最適です。
マイコン: 入力(センサー)と出力(サーボ)を制御し、パラメータ調整が容易なArduinoを使用。今回は小型のNanoを採用。
ステップ4:メカニズムの理解
サーボの回転運動を「ノズルを押し下げる直線運動」に変換する必要があります。ここでは滑車(プーリー)的な仕組みで銅線を使い、回転力を下向きのベクトルに変換します。銅線の一端をサーボアームに、もう一端を固定点(ネジ)に結び、中間にホットグルースティックの切れ端(中央に穴を開けたもの)を通して接触面積を確保します。サーボが回ると銅線が引かれ、グルースティックがノズルを押し下げます。
ステップ5:配線
超音波センサー → Arduino:
- Trig → D10
- Echo → D11
- Vcc → 5V
- Gnd → GND
サーボ → Arduino:
- Signal → D9
- Vcc → Vin (または5V)
- Gnd → GND
ステップ6:サーボをベースに固定
ケース内部の剛性ある面にホットグルーでサーボを固定します。(やけど注意)
ステップ7:銅線をサーボアームに通す
サーボアームの穴に銅線を最低2箇所通し、テンションがかかるようにします。円形アームの方がケース内で引っかかりにくく安定します。
ステップ8:ホットグルースティックを滑車として追加
ホットグルースティックを約2cmに切り、中央に穴を開けて銅線を通します。これでノズル接触面積が広がり、安定して押下できます。
ステップ9:反対側をネジで固定
銅線のもう一方の端を、サーボと対向する面のセルフタッピングネジに固定します。ネジならテンション調整やボトル交換(リフィル)が容易です。
ステップ10:コードを書き込む
コードのロジックはシンプルです:
Servo.hライブラリを使用- 超音波センサーで距離をcm単位で計測
- 距離が 10cm未満 になったらサーボがスイープ動作し、液体を吐出
最新版コードはこちら:https://minov.in/diy-hand-sanitizer-dispenser-using-arduino/
ステップ11:動作テスト
手をセンサーにかざし、距離が10cm以内になるとサーボが作動して消毒液が出ることを確認。問題なければ次のステップへ。
ステップ12:ケース完成
- 超音波センサー用の穴、ボトル用の穴、銅線可動用のスロット(余裕を持たせる)をマーキング
- カッターやドリルで穴あけ
- ホットグルーで各部品を固定
ステップ13:完成!
ステップ14:寄付のお願い
このプロジェクトに使われているパーツは多くのメイカーが手持ちにあるものです。ぜひ作って病院や必要な方々に寄付してください。私はエッセンシャルワーカーの方々に寄付します。Instagramで @officialmissioncritical をタグ付けしてシェアし、Arduinoコミュニティの力でこのグローバルな課題に立ち向かいましょう!(資金募集ではなく、革新的なプロジェクトを作って寄付するムーブメントです)
ソースコード
GitHub (Servoライブラリ):https://github.com/arduino-libraries/Servo
本プロジェクトの完全なスケッチは上記リンク先の記事内で公開されています。
回路図
Fritzingファイル: connections_5YWkDyQBo4.fzz
製造プロセス
- Arduino Nano RP2040で作るDIY Photoshopコントロールコンソール
- Arduinoで作るレトロNumitron管時計:シンプル、信頼性高く、省エネ
- 862D+はんだごて用DIY温度コントローラー:精度と信頼性を両立
- Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
- Arduinoで作る赤外線心拍センサー:低コスト・リアルタイム波形表示のステップバイステップガイド
- MotionSense: ArduinoとESP8266で作るスマート侵入検知システム
- Arduino超音波センサーとProcessingで作るリアルタイム距離測定ソナー
- MobBob:Arduino製ロボットをAndroidスマホでシームレスに制御
- Arduino Nanoとロータリーエンコーダーで作る高精度測定ホイール
- Bolt IoTとArduino UNOでLED輝度をシームレス制御
- Arduino、Yaler、IFTTTでWeb対応IoTゲージを構築する