アルコール消毒状況がひと目で分かるデバイス作ってみた!
はじめに
こんにちは、AITOYA株式会社の胡本(えべすもと)です!
弊社は、cm級位置情報測位デバイスの「iChidori®(いちどり)」シリーズを始めとした、位置情報ソリューションをお客様に提供している企業です。
製品の説明はこちらをご覧ください!
さて、昨今では新型コロナウイルスが蔓延し、知らず知らずのうちに感染しているかもしれないという時代になってしまいました。皆さんは「外食したいけど、感染が怖い……。」そう思ったことはありませんか?せっかくの外食中に感染してしまったら……。誰でも嫌ですよね?
そんな時、飲食店の店員やお客さんのアルコール消毒をしている状況がひと目でわかれば、「この店はコロナ対策しっかりしているんだな!」と安心して外食できると思いませんか?逆にお店や施設側も「当店は感染予防しっかりしてますよ!安心してきてください!」とアピールできるかも?
そこで今回私は、そんな助けとなる「アルコール消毒状況がひと目で分かる」デバイスを作ってみました!今回は出来るだけ簡単にするため、下の画像のような構成にしました。
それでは始めていきます!
目次
- 製作概要
- 使ったもの
- ソフトウェアのセットアップ
- Fusion360
- WioLTE
- WioLTEの接続設定
- 電気回路の検査と実装
- 外装部品の設計
- システム構成
- 組立てと完成物
- 終わりに
製作概要
今回は、アルコール消毒をやっているかどうかをひと目で分かるデバイスを作成します!
アルコール噴射をどれくらい行っているかがSNS(検討中)で分かる。ということが可能なデバイスを作っていきます。
使ったもの
ソフトウェアのセットアップ
まずは必要なソフトウェアのダウンロードを行いましょう。以下は Windows でのインストール方法になります。Mac の方や Linux の方は個々のPCに合ったインストールを行ってください。
Fusion360
Fusion360 については下記サイトに分かりやすく書いてあるので、参考にしながらダウンロードしてください。
無料でも使える高機能3DCAD Fusion 360のインストール手順│CAD/CAM/CAE 研究所
Arduino
Arduino IDE は以下の公式HPの「ダウンロード」よりダウンロードが可能です。
Arduino - Software
図のように、JUST DOWNLOAD から最新版をダウンロードしてください。その後exeファイルを実行してください。
exeファイル実行後、「Lisense Agreement」「Installation Options」「Installation Folder」が順に表示されますが、なにも変更することなく「Agree」→「Next」→「Install」の順に進みインストールしてください。インストールが始まり、少々待つとインストールが完了します。完了後「close」を押してデスクトップからArduinoを起動させましょう! これで Arduino が使えるようになります。
WioLTEの接続設定
WioLTE は Arduino に追加のライブラリやボードを追加することによって使用できるようになります。下記のサイトにその手順が分かりやすく書いてあるので、参考にしてみてください!
jp-training | SORACOM IoT Training
サイト内の手順を踏んでもらった後に WioLTE を DFUモード にすると、デバイスマネージャーの「ユニバーサル シリアル バス デバイス」の欄に「STM32 BOOTLOADER」が表示されるようになります。WioLTE の接続準備が完了した後、以下のリンクを通して、WioLTE が動作するかを確認してみてください。
事前準備 | jp-training
電気回路の検査と実装
さて、噴射状況を監視するためには、まずアルコールスプレーが噴射した瞬間の情報を取得する必要があります。そこでまず、中の内部構造を見てみましょう!
幸い本体はねじ止めがしてあるだけだったので、本体から見えるねじを5本ほど取りのぞいて中を見てみました……!その結果中身はこんな感じでした。
追加でスプレーを起動して、内部構造を見てみると、どうやらスプレー内部のモーターが動いた回数をマイクロスイッチを用いてカウントし、そのカウントの瞬間をマイコンが取得して制御しているみたいですね。
(思っていたより構造はシンプルでとても有り難い!)
ということは、マイクロスイッチの電圧を拾うことが出来れば、噴射の瞬間を記録することが出来るということです。噴射の瞬間を記録するためにまず、Seeed KK のwikiを参照しながらソースコードを書きます。
リファレンスマニュアル | Wiki
そこで上の写真のピンにジャンパワイヤをはんだ付けし、先程作成したプログラムを用いて制御情報が取得できるか確認してみました。WioLTE は D38 ピンが digitalRead の引数に対応しているようなので、その部分とスプレーの信号を取得する配線を取り付けます。
注意点
アルコールスプレー側の回路図はないので、電気的な流れは細かく確認しましょう。私は確認が上手くできておらず、WioLTE と接続した際にスプレーをひとつ壊しました 笑
情報が取れるか試した結果がこちら!
これで、スプレーが噴射した瞬間の情報を取得することが出来ました!
外装部品の設計
さて、噴射状況が取得できるようになったので、次は外装を設計してみましょう。私の場合は、まず必要となる部品をモデリングし、そのモデリングした部品にフィットするように外装部品を作っていきます。
ということで、まず「WioLTE」「アンテナ」「アルコールスプレー」の寸法をざっくりモデリングしました。この時、外形寸法やねじ穴寸法など、外装作成時に必要な部分は正確にモデリングしましょう。寸法を適当に測って雑にモデリングすると、はめあいが悪くなります。0.1mm単位で調整しましょう。
今回は液体を扱うので、中身が露出しないような設計を心掛けました。
また、最初の外装は大体どこかで修正が入るので、(今回は外装の曲線部とスプレーの曲線部はめあいが合ってなかった 笑)すぐに修正できるようにパラメトリック・モデリングでの作成を行いました。その後本体との固定方法を修正した後、完成したモデルがこちら!
3Dプリンターで出力した結果がこちら。ランドセル背負ってるみたいでかわいい 笑
これでアルコールスプレーの外装部分も完成しました!
システム構成
さて、ハードウェア的な問題は解決したので、次はメインとなるシステム構成を考えていきましょう!
今回は便利な IFTTT を使用します。IFTTT とは、異なるソーシャルメディアやプラットフォームを連携させるwebサービスです。(詳しくはこちら:IFTTT helps your apps and devices work together)具体的には、アルコールスプレーがプッシュした瞬間の情報を Webhook を通じて Twitter に送信し、ツイートを行うという仕組みです。 Webhook については、こちらの記事に分かりやすく書いてあるのでご覧ください。(Webhookとは? - Qiita)
また、とても有り難いことに、SeeedJP の公式ライブラリに WioLTE を用いて Webhook の通信を行うソースコードが記載してあります。今回ほとんどコードを自作することがなく、とても簡単でした 笑。ほんと有難い……。WioLTEforArduino/ifttt-webhook.ino at master · SeeedJP/WioLTEforArduino · GitHub
注意点
IFTTT の仕様上、Twitter は1日25ツイート以上ツイートすると、システムが次の日まで止まります。安易にツイートしないように気をつけましょう 笑
コードを動かしてみた結果がこちら!
無事、「アルコールスプレーが動いた時間」と、「その日何回目のプッシュなのか」をツイートすることが出来ました!これでアルコール消毒がどれくらいされているか分かりますね 笑
組立てと完成物
これで必要な要素は全て完成しました!では実際に組立ててみましょう!電源となるUSBケーブルをアルコールスプレーに並列接続して……回路周りの配線とWioLTEと外線のねじ止めを行い……
いざ起動!
……と思ったら動かない!
なんでだ……?
……(検索中)……
調べてみると、WioLTE の通信時に必要な電流が 0.8A ほど必要なので、元々の乾電池駆動だと動かないと発覚……。急遽ACアダプターから給電することに。
外部給電にすると、無事、ツイートを行うことが出来ました!これで完成しました!
嬉しい!!!
終わりに
ここまでお読み頂きありがとうございました!
Webhook を変更すれば Twitter 以外にも様々な用途に使用できるので、是非トライしてみてください!今回を通してアルコール噴出時の情報が取得できるようになったので、次の記事では、SORACOMのサービスを使い情報の可視化を行ってみました!興味のある方はぜひご覧ください。
SORACOM HarvestとSORACOM Lagoonを使ってアルコール消毒状況を可視化してみた!