見出し画像

PLEN:bitで感染症対策!


こんにちは!
PLEN Projectの松原です。

今回の記事では、
・PLEN:bitについて
・CO2センサーを用いた換気お知らせプログラム
・プログラム内容
以上をご紹介します。


はじめに

感染防止対策として、CO₂センサーが注目されています。大気のCO₂濃度は約300ppmですが、換気をしていない、いわゆる「密」な空間では、人の呼吸によってCO₂濃度が上昇します。

ビルや商業施設などでは、窓を開ける換気が難しいため、コロナに関係なく、CO₂濃度を1000ppm以下に抑える空調を設けるよう、建築基準法で定められています。

感染リスクとCO₂濃度の明確な関係は分かりませんが、一般には、800ppm以上が換気の目安となるようです。


今回は、CO₂センサー「MH-Z19C」と 2足歩行ロボット「PLEN:bit」を用いて、換気のお知らせをするロボットの開発例をご紹介します。

画像1

※ MH-Z19C は、±100ppm ほどの誤差があります。CO₂濃度を精度良く測るセンサーではありませんのでご注意ください。



1. PLEN:bitについて

PLEN:bitは、イギリスの教育用マイコンボードmicro:bitをメインコンピュータにしたロボットです。初心者でも簡単にプログラミングでき、PLEN:bitを自由に動かすことができます。

8個のサーボモーターと2個のフルカラーLEDを備え(PLEN:bit v2)、歩く,手を振る,踊るといった基本的な動作を再生できるほか、自由に制御することも可能です。

画像24

microbit-画面コピー (13)


PLEN5Stackをお持ちで無い方でロボットプログラミングに興味のある方は
是非ホームページをご確認ください!

PLEN5Stack 公式ホームページはこちら



2. 換気お知らせプログラム

今回のシステムは、大まかに以下の通りとなります。

画像25


又、今回は、センサーとPLEN:bitを接続するために変換基板を用意しました。(ピンコネクタでも接続可能です)

※接続方法の詳細は、データシートをご確認ください。
※ PLEN:bitに取り付けて使用する以外で、本センサーを利用することによって生じた故障又は損害などに関しましては、一切の責任を負いかねますのであらかじめご了承ください。

画像5



↓が今回のプログラムとなります。


PLEN:bitにセンサーを接続し、プログラムを実行します。
センサーが動き出すまで、10秒ほどかかります。

画像6



背中には、↓を取り付けています。

co2メーター


右腕の角度によって、空気中のCO₂濃度を表示しています。

空気中のCO₂濃度が上昇すと右腕が上がります。さらに、CO₂濃度が800ppm以上になると左腕を振って換気をお知らせしてくれます。

Aボタンを押すと、左腕が止まるようにしています。

画像4


換気を行い、CO₂濃度が減少すると、右腕が下がり、左腕は止まります。

画像5



3. プログラム内容

プログラムの詳細に関しましては、以下よりご確認ください。


下の画像が、今回のプログラム全体となります。

プログラムを

1. 初期化
2. メインループ
3. Aボタン
4. モーション

の4つに分けてご紹介します。

画像12


1. 初期化

最初に、変数の初期化と、サーボモーターの角度変更を行っています。

patapata_mode ・・・ 800ppmを超えたら腕をパタパタするか  (bool)
left_thigh ・・・ 左ももの角度 (int)
left_foot ・・・ 左足の角度 (int)

画像12


最初だけ
・他のmicro:bitでppmを確認するために、無線設定(グループ1)を追加しています。
・メインループで代入を行わない変数の初期化を行っておきます
・サーボの角度を調整し、メーターが見やすい姿勢にしておきます

画像13




2. メインループ

無限ループを用いて、CO₂センサーから送られる信号を読み取り、腕の角度を調整しています。

画像14


以下が、CO₂センサーからの信号を読み取り、ppmに変換するプログラムとなります。

画像15


データシートを参照すると、センサー値はパルス波(0か1の波)で送信されます。

画像12


横軸が時間縦軸が電圧のグラフを考えると、パルス信号は見やすくなります。

画像16


以下のプログラムを実行すると、パルス信号のグラフを確認することができます。

画像17


そして、データシートに記載されているCO₂濃度の計算方法は、以下となります。

画像18


今回のプログラムでは、t1,t2,t3の時間を記録し、CO₂濃度を算出しています。
計算過程に数ミリ秒要するため、1波飛ばしで計測を行っています。

画像17

画像18



上のプログラムに以下を加え、右腕メータの動作や、CO₂濃度規定値オーバー(800ppm)時の動作を行っています。

画像19



3. Aボタン

Aボタンを押す度に、変数patapata_mode真偽(腕パタパタのオン/オフ)を切り替えています。

画像20



4. モーション

CO₂濃度規定値オーバー(800ppm)時の動作、「左腕のパタパタモーション」は、以下のように作成しています。

画像22


左腕(2番サーボ)の開く/閉じるを2回繰り返しています。

画像22


4. 終わりに

人間の五感や、それ以上の機能を備えたセンサーをロボットに付けることにより、人と同じような動きや、ロボットにしかできない動きを作ることができます。

CO₂センサー以外にも、面白いセンサーが色々ありますので、是非、色々なアイデアを出し、開発して頂ければ幸いです。


それでは、また別の記事でお会いしましょう!
See you next time!

画像25


この記事が気に入ったらサポートをしてみませんか?