自動アルコールディスペンサーの記事にアクセスが多くあり、武漢コロナの影響がまだまだ大きいことがうかがえます。
以前作成した自動アルコールディスペンサーはアルコールボトルの大きさに制限があり、汎用性に乏しかったと反省しています。
そこで市販のディスペンサーボトルを使用した自動アルコールディスペンサーを作成することにしました、今回はウォーターポンプを使用します。
パーツなど合計すると市販の自動ディスペンサーが購入できてしまいますが、自作する楽しみを優先していますのであしからず。
使用するパーツ
マイコン:Raspberry PI PICO いま流行の PICO を使用してみます。
ウォーターポンプ:水中ポンプではなく、ポンプがアルコールと接触しないタイプのものです。
IRセンサー:検知距離は短いですが十分使えます。
リレー:5V1回路で小型のもの、ポンプのON・OFF に使用
リチウムイオンバッテリー:18650 3.7V3000mA 2本
ディスペンサーボトル:容量500ミリリットルの物を使用します、手押しポンプ部分は取り外します、幅80×奥行き60×高さ150mm 以内の容器があれば使えます。
シリコンチューブ:外径5mm×内径3mm 付属のチューブは短いので。
その他:電源スイッチ、5Vレギュレーター(L7805CV-DG)、100nFコンデンサー、47μF電解コンデンサー、2色LED (OSRB5131A)、
5mmLED用ワンタッチブラケット、1KΩ抵抗、ユニバーサル基板(30×70mm)、電池ボックスなど。
回路図
今回はArduinoではなく、いま流行の Raspberry PI PICO をポチってあったので使用してみました、電源はリチウムイオンバッテリー2本を使用しました、アルカリ電池4本(6V)でも動作可能ですがポンプの動作時間の調整が必要になります、回路図ではLED2個表示されていますが赤/青の2色LED(5mmΦ)を使用します。
使用したIRセンサーは回路図の物とは異なり4端子ですが、VCC GND D0端子 に接続します。(取付画像参照)
プログラム
Thonny を使用してプログラムしました、Python は習い始めなのでプログラムがスマートではないかも知れませんが参考になればと思い載せておきます。
# automatic Alcohol dispenser # water pump version # =========================== from machine import Pin import utime relay = Pin(16,Pin.OUT) # 5Vリレーピン sensor = Pin(15,Pin.IN) # IRセンサーピン led_red = Pin(17,Pin.OUT) # 電源表示用赤色LEDピン led_blue = Pin(18,Pin.OUT) # ポンプ動作表示用青色LEDピン while True: if sensor.value()==1: # IRセンサーが動作していないときは(High) relay.value(0) # リレーは動作させない led_red.value(1) # 赤LED点灯 else: # それ以外の時(センサーが動作している)の処理 led_red.value(0) # 赤LED消灯して led_blue.value(1) # 青LED点灯 relay.value(1) # リレー ON (ポンプ動作) utime.sleep_ms(300) # ポンプ動作時間(0.3秒) 液量により調整する relay.value(0) # リレー OFF (ポンプOFF) utime.sleep(2) # 次の動作までの待ち時間(2秒) led_blue.value(0) # 青LED消灯
組み込み
アルコールボトルを入れるケースにセンサーとスプレーノズルを取り付ける部分をセットした画像です、これに2色LEDを取り付けたカバーをかぶせます。
スプレーノズルは3Dプリンターで作りましたが、ディスペンサーボトルに付いているノズルを使用しても良さそうです。
ディスペンサーボトルはポンプ部分を取り外し、シリコンチューブを通す穴を開けたパッキンを取り付けました。
IRセンサー は周囲の明るさにより感度が変化しますので、ディスペンサーを使用する場所で感度調整をしてから使用しないと不要な動作の原因となります。
メカ部分とポンプ部分です、ユニバーサル基板30mm×70mmを使用し5VレギュレータとPICOを載せました、ポンプはシリコンチューブをローラーで押して液体を送り出す仕組です。
メカケースとディスペンサーケースは両面テープで貼り付け固定しました。