PLEN:bitで感染症対策!
こんにちは!
PLEN Projectの松原です。
今回の記事では、
・PLEN:bitについて
・CO2センサーを用いた換気お知らせプログラム
・プログラム内容
以上をご紹介します。
はじめに
感染防止対策として、CO₂センサーが注目されています。大気のCO₂濃度は約300ppmですが、換気をしていない、いわゆる「密」な空間では、人の呼吸によってCO₂濃度が上昇します。
ビルや商業施設などでは、窓を開ける換気が難しいため、コロナに関係なく、CO₂濃度を1000ppm以下に抑える空調を設けるよう、建築基準法で定められています。
感染リスクとCO₂濃度の明確な関係は分かりませんが、一般には、800ppm以上が換気の目安となるようです。
今回は、CO₂センサー「MH-Z19C」と 2足歩行ロボット「PLEN:bit」を用いて、換気のお知らせをするロボットの開発例をご紹介します。
※ MH-Z19C は、±100ppm ほどの誤差があります。CO₂濃度を精度良く測るセンサーではありませんのでご注意ください。
1. PLEN:bitについて
PLEN:bitは、イギリスの教育用マイコンボードmicro:bitをメインコンピュータにしたロボットです。初心者でも簡単にプログラミングでき、PLEN:bitを自由に動かすことができます。
8個のサーボモーターと2個のフルカラーLEDを備え(PLEN:bit v2)、歩く,手を振る,踊るといった基本的な動作を再生できるほか、自由に制御することも可能です。
PLEN5Stackをお持ちで無い方でロボットプログラミングに興味のある方は
是非ホームページをご確認ください!
2. 換気お知らせプログラム
今回のシステムは、大まかに以下の通りとなります。
又、今回は、センサーとPLEN:bitを接続するために変換基板を用意しました。(ピンコネクタでも接続可能です)
※接続方法の詳細は、データシートをご確認ください。
※ PLEN:bitに取り付けて使用する以外で、本センサーを利用することによって生じた故障又は損害などに関しましては、一切の責任を負いかねますのであらかじめご了承ください。
↓が今回のプログラムとなります。
PLEN:bitにセンサーを接続し、プログラムを実行します。
センサーが動き出すまで、10秒ほどかかります。
背中には、↓を取り付けています。
右腕の角度によって、空気中のCO₂濃度を表示しています。
空気中のCO₂濃度が上昇すと右腕が上がります。さらに、CO₂濃度が800ppm以上になると左腕を振って換気をお知らせしてくれます。
Aボタンを押すと、左腕が止まるようにしています。
換気を行い、CO₂濃度が減少すると、右腕が下がり、左腕は止まります。
3. プログラム内容
プログラムの詳細に関しましては、以下よりご確認ください。
下の画像が、今回のプログラム全体となります。
プログラムを
1. 初期化
2. メインループ
3. Aボタン
4. モーション
の4つに分けてご紹介します。
1. 初期化
最初に、変数の初期化と、サーボモーターの角度変更を行っています。
patapata_mode ・・・ 800ppmを超えたら腕をパタパタするか (bool)
left_thigh ・・・ 左ももの角度 (int)
left_foot ・・・ 左足の角度 (int)
最初だけ
・他のmicro:bitでppmを確認するために、無線設定(グループ1)を追加しています。
・メインループで代入を行わない変数の初期化を行っておきます
・サーボの角度を調整し、メーターが見やすい姿勢にしておきます
2. メインループ
無限ループを用いて、CO₂センサーから送られる信号を読み取り、腕の角度を調整しています。
以下が、CO₂センサーからの信号を読み取り、ppmに変換するプログラムとなります。
データシートを参照すると、センサー値はパルス波(0か1の波)で送信されます。
横軸が時間、縦軸が電圧のグラフを考えると、パルス信号は見やすくなります。
以下のプログラムを実行すると、パルス信号のグラフを確認することができます。
そして、データシートに記載されているCO₂濃度の計算方法は、以下となります。
今回のプログラムでは、t1,t2,t3の時間を記録し、CO₂濃度を算出しています。
計算過程に数ミリ秒要するため、1波飛ばしで計測を行っています。
上のプログラムに以下を加え、右腕メータの動作や、CO₂濃度規定値オーバー(800ppm)時の動作を行っています。
3. Aボタン
Aボタンを押す度に、変数patapata_modeの真偽(腕パタパタのオン/オフ)を切り替えています。
4. モーション
CO₂濃度規定値オーバー(800ppm)時の動作、「左腕のパタパタモーション」は、以下のように作成しています。
左腕(2番サーボ)の開く/閉じるを2回繰り返しています。
4. 終わりに
人間の五感や、それ以上の機能を備えたセンサーをロボットに付けることにより、人と同じような動きや、ロボットにしかできない動きを作ることができます。
CO₂センサー以外にも、面白いセンサーが色々ありますので、是非、色々なアイデアを出し、開発して頂ければ幸いです。
それでは、また別の記事でお会いしましょう!
See you next time!