編集履歴一覧に戻る
mametarou963のアイコン画像

mametarou963 が 2021年02月21日22時54分09秒 に編集

コメント無し

本文の変更

# 背景 コロナ禍で野外でもアルコール消毒する機会が増えました。 今後は、状況に応じて緩やかに規制が緩和されて、野外イベントも増えていくと思います。 これらのイベントでは、アルコール消毒に加えて安全に手洗いできる環境が必要になっていくでしょう。 そこで、以下の特徴を持つポータブル自動水栓をM5StickCを用いて開発しました * 簡単に設置可能 * 非接触 * 安価 このプロダクトにより、コロナ禍でも場所を選ばず安全に手洗い環境が提供できます。 本実装では1.5l程度のものを採用しているため、すぐに2~4回の手洗い程度でなくなってしまいます。 しかし、イベントや会場規模に合わせて大きな容器を用意することで実運用にも耐えうると考えています。 また、USBバッテリーを使用することで、近くに電源・水源がなくても単体で運用することが可能です。 実装としては、M5StickCの豊富なユニット・ハット群とUI-FLOWの恩恵でほぼコードレスで作成しました # 部品 * M5StickC x 1 * M5StickC PIR HUT x 1 * M5Stack Mini 3A Relay Unit x 1 * モーターポンプ ![部品](https://camo.elchika.com/744828f1705f09c82cfe2be0f202d015c3f995fe/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66643265623836652d623336622d343438652d383961342d6164366436373031303335312f65616235656530382d613262622d343134312d613532662d323661336363623461343530/) # 構成 ![構成](https://camo.elchika.com/2b981a31c1c3f7ff8311b60c78a4a9e6e80e0f0c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66643265623836652d623336622d343438652d383961342d6164366436373031303335312f37383865336366632d346536622d343130612d393633342d663730353738313432616639/) # 完成品と動作のようす ![完成品](https://camo.elchika.com/d6caed9b689e0de353b6f50732b59ef7ee71b873/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66643265623836652d623336622d343438652d383961342d6164366436373031303335312f35623430333362612d623165632d343135372d623834392d643935346337373831366665/)

-

[動作のようす](https://www.youtube.com/embed/4Z-_Z2fXfuA)

+

@[youtube](https://www.youtube.com/embed/4Z-_Z2fXfuA)

# プログラム ![UI-Flow](https://camo.elchika.com/68a3fc174f1eea10728fd348a727f94633ca28e5/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66643265623836652d623336622d343438652d383961342d6164366436373031303335312f38333534376539392d326366622d346539612d623163652d303639373938653433306161/) ```python:プログラム from m5stack import * from m5ui import * from uiflow import * import time import hat import unit import hat setScreenColor(0x111111) relay1 = unit.get(unit.RELAY, unit.PORTA) hat_pir0 = hat.get(hat.PIR) label0 = M5TextBox(26, 67, "Text", lcd.FONT_Default,0xFFFFFF, rotate=0) relay1.on() while True: if 1 == (hat_pir0.state): relay1.on() else: relay1.off() wait_ms(100) wait_ms(2) ```