Raspberry Pi でCO2濃度を測定する(MH-Z19Cを使って)
ラズベリーパイで 「MH-Z19C」 というセンサーを使ってCO2 濃度を測定する方法を、初学者向けに、初学者が紹介していきます。
0. MH-Z19Cの購入
「MH-Z19C」は、Amazonなどで購入できます。
ちなみに、私はリアル店舗「秋月電子通商 秋葉原店」で購入しました(色々な部品が沢山あって、探すのが激ムズでした)。
1. ラズベリーパイでシリアル通信ができるようにする
「MH-Z19C」はシリアル通信とういう方式でデータのやりとりをするそうです。
そのため、「ラズベリーパイ」側でその通信ができるようにする必要があります。
(手順)
・「Raspberry Pi の設定」を開きます。
下の(図1)を参考に、3ステップで開くことができます。
2. 「Raspberry Pi の設定」の中から、「インターフェース」のタブを選択し、
「シリアルポート」の「有効」にチェックを入れ、OKボタンを押します。(図2)のように 3ステップです。
3. MH-Z19C と ラズベリーパイの接続
「MH-Z19C」と「ラズベーリーパイ」を接続していきます。
「MH-Z19C」にはピンが9本ありますが、接続に使うのは4本です。
(図3)を参考に、ジャンパーピンで接続しましょう。
うまく接続できていれば、このタイミングでで、「MH-Z19C」の赤いランプが点滅し始めます(図4)。
4. ライブラリのインストール
「MH-Z19C」を python3 で使うためのライブラリをインストールします。
ちなみにこのライブラリは UedaTakeyuki さんという方が作成されたようで、無料で使用することができます。この場を借りて、お礼を申し上げたいと思います。「ありがとうございます!」
さて、実際のライブラリのインストールは、
1) 「LXTerminal」 を開いて、
2) 以下のコマンドを打ち込めば、
sudo pip3 install mh-z19
インストールできます(図5)。
5. キャリブレーションと測定
いよいよ測定と行きたいところですが、その前にキャリブレーションを行います。
キャリブレーションとは校正のことで、
「MH-Z19C」でのキャリブレーションは、大気中の二酸化炭素濃度を400ppmだとみなして、
それを利用して400ppmの値を校正するものです。
気象庁によると、現在は410ppmを越えているみたいですが。。。
実際の手順は、
- 「MH-Z19C」 をできるだけ外気に近い環境(室内の場合は換気して30分くらい置くとか)に置いて、
- 自分の息が「MH-Z19C」にかからない状態で、以下のコマンドを「LXTerminal」で打ち込みます。
sudo python3 -m mh_z19 --zero_point_calibration
成功すれば、「LXTerminal 」上に、Call Calibration wiht ZERO point. と表示されます(図6)。
※上記のコマンドでは、mh_z19 の部分にアンダーバー ( _ ) が使われていることに注意です!
というのも、4. ライブラリのインストールでは、mh-z19 とハイフン( – ) が使われていました。
私はここでつまずきましたので、念の為。。。
さあ、いよいよ計測です!
以下のコマンドを「LXTerminal」に打ち込みましょう!
(このコマンドはよく見ると、キャリブレーション時のものから、–zero_point_calibration を取り除いただけです!)
sudo python3 -m mh_z19
「LXTerminal 」上に、
{”co2”:409}
みたいな感じで表示が出ていれば成功です(図⑥)。
さあ、これで好き放題、二酸化炭素濃度を測定できます!!
また別の機会に、測定した二酸化炭素濃度をスラックへ自動送信する方法などを紹介したいと思います。
最後までご覧いただきまして、ありがとうございました。少しでお役に立てていれば嬉しいです。