僧侶がロゴを作る

説明書: AIR RASPBERRY Pi
ラズベリー PI 400 用に設計されています。ラズベリー PI 2、3、および 4 と互換性があります。

MONK MAKES 空気質キット Raspberry Pi 用 - FIG13

V1d

導入

Raspberry Pi用のMonkMakes空気品質キットは、MonkMakes空気品質センサーボードをベースにしています。 このRaspberryPiのアドオンは、部屋の空気の質(空気の古さ)と温度を測定します。 ボードには、空気の質とブザーを表示するXNUMXつのLED(緑、オレンジ、赤)が表示されます。 温度と空気の品質の測定値はRaspberryPiで読み取ることができ、ブザーとLEDディスプレイもRaspberryPiから制御できます。
空気品質センサーボードは、Raspberry Pi 400の背面に直接接続しますが、キットに含まれているジャンパー線とGPIOテンプレートを使用して、RaspberryPiの他のモデルでも使用できます。 MONK MAKES 空気質キット Raspberry Pi 用 - FIG13

部品

RaspberryPiはこのキットに含まれていないことに注意してください。
他のことをする前に、キットに以下のアイテムが含まれていることを確認してください。MONK MAKES Raspberry Pi 用空気質キット - 図 1

空気の質とECO2

空気品質センサーボードは、部品番号CCS811のセンサーを使用します。 この小さなチップは、実際にはCO2(二酸化炭素)のレベルを測定するのではなく、揮発性有機化合物(VOC)と呼ばれるガスのグループのレベルを測定します。 屋内では、これらのガスのレベルはCO2のレベルとかなり同じ速度で上昇するため、CO2のレベル(等価CO2またはeCO2と呼ばれる)を推定するために使用できます。
私たちが呼吸する空気中のCO2のレベルは、私たちの健康に直接影響を及ぼします。 CO2レベルは、公衆衛生の観点から特に重要です。 view 簡単に言えば、それらは私たちが他の人の空気をどれだけ呼吸しているかの尺度です。 私たち人間はCO2を吐き出すので、換気の悪い部屋に何人かいると、徐々にCO2のレベルが上がります。 これは、人々が一緒に呼吸するときに風邪、インフルエンザ、コロナウイルスを拡散させるウイルスエアロゾルとほとんど同じです。
CO2 レベルのもう 1,000 つの重要な影響は、認知機能 (どれだけよく考えられるか) です。 この研究 (その他多くの研究の中でも) には、いくつかの興味深い発見があります。 次の引用は、米国国立バイオテクノロジー情報センターからのものです。 2 ppm では、意思決定パフォーマンスの 2,500 つのスケールで、統計的に有意な大幅な低下が見られました」出典: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3548274/
以下の表は、 https://www.kane.co.uk/knowledge-centre/whatare-safe-levels-of-co-and-co2-in-rooms
CO2 が不健康になるレベルを示します。 CO2 の測定値は ppm (XNUMX 万分の XNUMX) です。

CO2レベル(ppm) 注記
250-400 周囲空気中の通常の濃度。
400-1000 良好な空気交換を伴う占有された屋内空間に典型的な濃度。
1000-2000 眠気と空気の悪さの不満。
2000-5000 頭痛、眠気、tagナント、古く、息苦しい空気。 集中力の低下、注意力の喪失、心拍数の増加、わずかな吐き気も見られる場合があります。
5000 ほとんどの国での職場での暴露限度。
>40000 曝露は深刻な酸素欠乏につながる可能性があり、永久的な脳損傷、昏睡、さらには死に至る可能性があります。

セットアップ

RaspberryPi400またはRaspberryPi2、3、または4を使用しているかどうかにかかわらず、Air Quality Sensorを接続する前に、Raspberry Piがシャットダウンされ、電源がオフになっていることを確認してください。
空気品質センサーは、Raspberry Piから電力が供給されるとすぐに、eCO2の測定値を表示します。 したがって、接続すると、ディスプレイにeCO2レベルが表示されます。 次に、ボードを操作し、読み取り値を受け取り、PythonプログラムからLEDとブザーを制御する方法を学習します。
空気質センサーの接続(Raspberry Pi 400)
GPIO コネクタのピンを曲げる可能性があるため、コネクタを斜めに押し込んだり、強く押し込みすぎたりしないことが非常に重要です。 ピンが並んだら
正しくは、簡単に押し込めるはずです。MONK MAKES Raspberry Pi 用空気質キット - 図 2コネクタは上図のように適合します。 ボードの下端が Pi 400 のケースの底と一列に並んでおり、ボードの側面にはマイクロ SD カードに簡単にアクセスできる十分なスペースがあることに注意してください。ボードを接続したら、Raspberry Pi の電源を入れます。 — 電源 LED (MonkMakes ロゴ内) と eCO2 LED の XNUMX つも点灯します。
空気質センサーの接続(Raspberry Pi 2/3/4)
Raspberry Pi 2、3、4 をお持ちの場合は、Raspberry Leaf と、Air Quality Sensor ボードを Raspberry Pi に接続するためのメスからオスへのジャンパー線が必要です。
警告:電源リードを逆にするか、空気品質センサーをRaspberry Piの5Vピンではなく3Vに接続すると、センサーが破損し、RaspberryPiが損傷する可能性があります。 したがって、Raspberry Piの電源を入れる前に、配線を注意深く確認してください。
まず、RaspberryPiのGPIOピンにRaspberryLeafを取り付けて、どのピンがどれであるかがわかるようにします。 テンプレートはどちらの方向にもフィットするため、下の図に従ってください。 MONK MAKES 空気質キット Raspberry Pi 用 - FIG3次に、RaspberryPiのGPIOピンとAirQualityボードの間に次のようにXNUMX本のリード線を接続します。

ラズベリーパイピン (として リーフにラベル付けされています) 大気質委員会 (as コネクタにラベル付けされています) 推奨されるワイヤーの色。
GND(GNDとマークされたピンならどれでもかまいません) グランド
3.3V 3V
14 テキサスドル PI_TXD オレンジ
15RXD PI_RXD 黄色

すべて接続すると、次のようになります。MONK MAKES 空気質キット Raspberry Pi 用 - FIG4配線を注意深く確認してから、Raspberry Piの電源を入れます—電源LED(MonkMakesロゴ内)とLEDのXNUMXつも点灯するはずです。
空気質ボードのプラグを抜く
RaspberryPi400からボードを取り外す前。

  1. RaspberryPiをシャットダウンします。
  2. ピンを曲げないように、ボードをPi 400の背面からゆっくりと緩め、両側から少しずつエッジを付けます。
    Pi 2/3/4をお持ちの場合は、RaspberryPiからジャンパー線を取り外してください。

シリアルインターフェースの有効化
ボードにはプログラミングなしでeCO2レベルが表示されますが、これはRaspberryPiを電源として使用していることを意味します。 Pythonプログラムからボードを操作できるようにするには、Raspberry Piで、さらにいくつかの手順を実行する必要があります。
XNUMX つ目は、Raspberry Pi のシリアル インターフェイスを有効にすることです。このインターフェイスは、Air Quality ボードで使用されます。
これを行うには、メイン メニューから [設定] を選択し、次に [Raspberry Pi 構成] を選択します。
Interfaces タブに切り替えて、Serial Port が有効で、Serial Console が無効になっていることを確認します。MONK MAKES 空気質キット Raspberry Pi 用 - FIG5

Exのダウンロードampルプログラム
元ampこのキットのプログラムは、GitHubからダウンロードできます。 それらを取得するには、Raspberry Piでブラウザウィンドウを起動し、次のアドレスに移動します。
https://github.com/monkmakes/pi_aq  [コード]ボタンをクリックしてから[ZIPのダウンロード]オプションをクリックして、プロジェクトのzipアーカイブをダウンロードします。MONK MAKES 空気質キット Raspberry Pi 用 - FIG6ダウンロードが完了したら、 filesZIPを見つけてZIPアーカイブから file ダウンロード フォルダで右クリックし、[抽出先] オプションを選択します。MONK MAKES 空気質キット Raspberry Pi 用 - FIG7適切なディレクトリを選択し (ホーム ディレクトリ – /home/pi をお勧めします)、解凍します。 files。 これにより、pi_aq-mainというフォルダが作成されます。 これを単にpi_aqに名前変更します。
トニー
プログラムをダウンロードしたら、コマンド ラインから実行できます。
ただし、 files、およびThonnyエディターを使用すると、 filesおよびそれらを実行します。
Thonny Python エディターは、R​​aspberry Pi OS にプリインストールされています。 メインメニューのプログラミングセクションにあります。 何らかの理由でインストールされていない場合
Raspberry Pi の場合、[設定] メニュー項目の [ソフトウェアの追加/削除] メニュー オプションを使用してインストールできます。MONK MAKES 空気質キット Raspberry Pi 用 - FIG8次のセクションでは、PythonとThonnyを使用してAir Qualityボードを操作する前に、このセンサーが何を測定しているかについてもう少し説明します。

はじめる

Pythonプログラミングを開始する前に、AirQualityBoardを見てみましょう。MONK MAKES 空気質キット Raspberry Pi 用 - FIG9左上の電源インジケータ LED により、ボードに電力が供給されていることをすばやく確認できます。 この下には温度センサーチップがあり、この隣にはeCO2センサーチップ自体があります。 よく見ると、空気が出入りするための小さな穴が開いていることがわかります。 eCO2 センサーのすぐ下にはブザーがあり、プログラムからオンとオフを切り替えることができます。 これは、アラームを提供するのに役立ちます。 2 つの LED の列は、(下から上に) XNUMX つの緑の LED、XNUMX つのオレンジ色の LED、および XNUMX つの赤の LED で構成されています。 これらは、各 LED の横にマークされた eCOXNUMX のレベルを超えると点灯します。 Raspberry Pi の電源が入るとすぐにレベルが表示されますが、Python を使用して制御することもできます。
コマンドラインからいくつかの実験を試すことから始めましょう。 画面上部のターミナルアイコン、またはメインメニューの[アクセサリ]セクションをクリックして、ターミナルセッションを開きます。MONK MAKES 空気質キット Raspberry Pi 用 - FIG10 ターミナルが開いたら、$ プロンプトの後に次のコマンドを入力して、ディレクトリを変更し (cd)、Python を開きます。 MONK MAKES 空気質キット Raspberry Pi 用 - FIG11コマンド >>> from aq import AQ を入力して、ローカル aq モジュールを開きます。
>>> 次に、次のように入力して AQ クラスのインスタンスを作成します。 >>> aq = AQ()
>>> 次のコマンドを入力して CO2 レベルを読み取ることができるようになりました: >>> aq.get_eco2() 434.0
>>> したがって、この場合、eCO2 レベルは新鮮な 434 ppm です。 温度を取得しましょう (摂氏)。 >>> aq.get_temp()
20.32 注: 上記のコードを実行したときにエラー メッセージが表示される場合は、GUIZero がインストールされていない可能性があります。 インストール手順はこちら:
https://lawsie.github.io/guizero/#raspberry-pi

プログラム1.ECO2メーター

このプログラムを実行すると、以下に示すようなウィンドウが開き、温度とeCO2レベルが表示されます。 温度センサーに指を置いてみると、温度の読み取り値が上がるはずです。 eCO2センサーで穏やかに呼吸することもでき、測定値が増加するはずです。MONK MAKES 空気質キット Raspberry Pi 用 - FIG12プログラムを実行するには、 file Thonnyの01_aq_meter.pyをクリックし、[実行]ボタンをクリックします。MONK MAKES 空気質キット Raspberry Pi 用 - FIG13これがプロジェクトのコードです。 このコードは、付録Bで詳しく読むことができるGUIZeroライブラリを利用しています。MONK MAKES 空気質キット Raspberry Pi 用 - FIG15ユーザー インターフェイスの動作を中断することなく、温度と光の読み取りを実行できるようにするために、スレッド ライブラリがインポートされます。 関数 update_readings は永遠にループし、XNUMX 秒ごとに読み取りを行い、ウィンドウ内のフィールドを更新します。
コードの残りの部分は、温度とeCO2レベルを表示するために必要なユーザーインターフェイスフィールドを提供します。 これらはグリッドとして配置されているため、フィールドが整列します。 したがって、各フィールドは、列と行の位置を表すグリッド属性で定義されます。 したがって、テキストTemp(C)を表示するフィールドは列0の行0にあり、対応する温度値(temp_c_field)は列1の行0にあります。
プログラム2.アラーム付きECO2メーター
このプログラムは、プログラム2を拡張し、ブザーといくつかの優れたユーザーインターフェイス機能を利用して、設定されたレベルのeCOXNUMXを超えると、アラーム音を鳴らし、ウィンドウを赤に変えます。 MONK MAKES 空気質キット Raspberry Pi 用 - FIG16ウィンドウの下部にあるスライダーは、ブザーが鳴り、ウィンドウが赤くなる eCO2 レベルを設定します。 アラームレベルを少し高めに設定してみてください。
現在の eCO2 レベルを確認し、センサーに息を吹きかけます。MONK MAKES 空気質キット Raspberry Pi 用 - FIG17プログラム 2 のコードは次のとおりです。その多くはプログラム 1 と非常によく似ています。関心のある領域は太字で強調表示されています。
インポート時間
from guizero import アプリ、テキスト、スライダー
aq から AQ をインポート
aq = AQ()
app = アプリ(タイトル=”空気の質”, 幅=550, 高さ=400, レイアウト=”グリッド”)
def update_readings():
True の間: temp_c_field.value = str(aq.get_temp()) eco2 = aq.get_eco2() eco2_field.value = str(eco2)
if eco2 > slider.value: app.bg = “赤” app.text_color = “白” aq.buzzer_on()
それ以外: app.bg = “白” app.text_color = “黒” aq.buzzer_off() time.sleep(0.5)
t1 = threading.Thread(target=update_readings)
t1.start() # 測定値を更新するスレッドを開始 aq.leds_automatic()
# ユーザー インターフェイスを定義する
Text(app, text="Temp (C)", grid=[0,0], size=20)
temp_c_field = Text(app, text="-", grid=[1,0], size=100)
Text(app, text="eCO2 (ppm)", grid=[0,1], size=20)
eco2_field = Text(app, text="-", grid=[1,1], size=100)
Text(app, text="Alarm (ppm)", grid=[0,2], size=20)
スライダー = スライダー (アプリ、開始 = 300、終了 = 2000、幅 = 300、高さ = 40、グリッド = [1,2]) app.display()
まず、guizeroからインポートするもののリストにSliderを追加する必要があります。
update_readings 関数を拡張して、温度と eCO2 レベルを表示するだけでなく、レベルがしきい値を超えているかどうかも確認する必要もあります。 そうであれば、ウィンドウの背景を赤に、テキストを白に設定し、ブザーをオンにします。 eCO2 レベルがスライダーで設定されたしきい値を下回ると、これを逆にしてブザーをオフにします。

プログラム3.データロガー

このプログラム(03_data_logger.py)にはグラフィカルインターフェイスがありません。 読み取りの間隔を秒単位で入力し、その後に名前を入力するように求められます。 file
読み取り値を保存する場所。MONK MAKES 空気質キット Raspberry Pi 用 - FIG18元amp上記のル、samplingは5秒に設定され、 file readings.txtと呼ばれます。 データのログ記録が終了すると、CTRL-cはログ記録を終了し、 file.
データは、上記のスクリーンキャプチャに表示されているのと同じ形式で保存されます。 つまり、最初の行は見出しを指定し、各値はTAB文字で区切られています。 The file プログラムと同じディレクトリに保存されます。 データをキャプチャしたら、それを Raspberry Pi のスプレッドシート (LibreOffice など) にインポートして、データからグラフをプロットできます。 LibreOffice が Raspberry Pi にインストールされていない場合は、[設定] メニューの [ソフトウェアの追加と削除] オプションを使用してインストールできます。
新しいスプレッドシートを開き、から[開く]を選択します。 file メニューをクリックし、データに移動します file あなたが見たいです。 これにより、インポート ダイアログが開きます (次のページを参照)。
スプレッドシートがデータの列を自動的に検出したこと。 MONK MAKES 空気質キット Raspberry Pi 用 - FIG193[OK]をクリックしてデータをインポートし、eCO2測定値の列を選択します。 次に、[挿入]メニューから[グラフ]を選択し、[グラフの種類]を選択してから、[線のみ]を選択することにより、これらの読み取り値のグラフをプロットできます。 これにより、次のページに示すグラフが表示されます。MONK MAKES 空気質キット Raspberry Pi 用 - FIG21実験として、ロガープログラムを24時間実行したままにして、eCO2レベルがXNUMX日を通してどのように変化するかを確認してください。

付録A.APIドキュメント

真面目なプログラマーのために–ここに技術文書があります。 The file monkmakes_aq.py は完全な Python ライブラリとしてインストールされませんが、それを使用する必要がある他のコードと同じフォルダーにコピーする必要があります。 aq.py
monkmakes_aq.pyモジュールは、RaspberryPiとAirQualityボード間のシリアル通信をラップするクラスです。
AQ のインスタンスの作成: aq = AQ()
eCO2リーディングを読む
aq.get_eco2() # eCO2 測定値を ppm で返す
摂氏で温度を読み取る
aq.get_temp() # 温度を摂氏で返します
LEDディスプレイ
aq.leds_manual() # LED モードを手動に設定
aq.leds_automatic() # LED モードを自動に設定
# LED が eCO2 を表示するように
aq.set_led_level(level) # レベル 0-LED オフ,
# レベル 1 ~ 6 LED 1 ~ 6 点灯
ブザー
aq.buzzer_on()
aq_buzzer_off()
このクラスは、Pi のシリアル インターフェイスを使用してセンサー ボードと通信します。 シリアルインターフェースの詳細をご覧になりたい場合は、本製品のデータシートをご覧ください。 これへのリンクは、製品の web ページ(http://monkmakes.com/pi_aq)

付録B.GUIZERO

The Raspberry PiFoundationのLauraSachとMartinO'Hanlonは、GUIの設計を非常に簡単にするPythonライブラリ(GUI Zero)を作成しました。 このキットはそのライブラリを使用します。
ライブラリを使用する前に、プログラムで使用するライブラリのビットをインポートする必要があります。
例えばampメッセージを含むウィンドウだけが必要な場合は、インポート コマンドを次に示します。
from guizero import アプリ、テキスト
クラス App はアプリケーション自体を表し、guizero を使用するすべてのプログラムはこれをインポートする必要があります。 ここで必要な唯一の他のクラスは、メッセージを表示するために使用される Text です。
次のコマンドは、タイトルとウィンドウの開始サイズを指定して、アプリケーション ウィンドウを作成します。
app = App(title = “マイウィンドウ”, width=”400”, height=”300”)
ウィンドウにテキストを追加するには、次の行を使用できます: Text(app, text="Hello World", size=32)
ウィンドウを表示する準備ができましたが、プログラムが次の行を実行するまで実際には表示されません: app.display()MONK MAKES 空気質キット Raspberry Pi 用 - FIG20guizeroの詳細については、こちらをご覧ください。 https://lawsie.github.io/guizero/start/

トラブルシューティング

問題: ボードが Pi 400 に接続されていますが、電源 LED が点灯しません。
解決策: GPIO ピンがソケットに正しく配置されていることを確認します。 4 ページを参照してください。
問題:ボードがPi 400に接続されていますが、電源LEDが速く点滅しています。
解決策:これは、センサーに問題があることを示しています。 場合によっては、RaspberryPiの電源をオフにしてから再度オンにすることで電源をリセットするだけで済みます。 これを行っても点滅が続く場合は、ボードが故障している可能性がありますので、お問い合わせください。 support@monkmakes.com
問題: すべてを接続しましたが、eCO2 の測定値が間違っているようです。
解決策: MonkMakes Air Quality Sensor で使用されているタイプのセンサーは、最初に接続したときから測定値を生成し始めます。 ただし、測定値は時間の経過とともにより正確になります。 センサー IC のデータシートによると、読み取り値は 20 分間の実行時間後にのみ正確になり始めます。
問題: ex を実行しようとするとエラー メッセージが表示されるampルプログラム。
解決策: 注: GUIZero がインストールされていない可能性があります。 こちらの指示に従ってください: https://lawsie.github.io/guizero/#raspberry-pi
問題: このセンサーの測定値を実際の CO2 メーターと比較していますが、測定値が異なります。
解決策: これは当然のことです。 大気質センサーは、揮発性有機化合物 (VOC) のレベルを測定することにより、CO2 濃度 (eCO2 の「e」が意味するもの) を推定します。 真の CO2 センサーは、はるかに高価です。

学ぶ

プログラミング&エレクトロニクス
Raspberry PiとElectronicsのプログラミングについて詳しく知りたい場合は、このキットの設計者(Simon Monk)が、楽しめる本をたくさん書いています。
サイモンモンクの本について詳しくは、次のURLをご覧ください。 http://simonmonk.org または彼が@ simonmonk2であるTwitterで彼をフォローしてくださいMONK MAKES 空気質キット Raspberry Pi 用 - FIG221

モンカケス

このキットの詳細については、製品のホームページをご覧ください。 https://monkmakes.com/pi_aq
このキットだけでなく、MonkMakes はあらゆる種類のキットやガジェットを作成して、
メーカープロジェクト。 詳細と購入先は次のとおりです。 https://www.monkmakes.com/products
Twitter@monkmakes で MonkMakes をフォローすることもできます。MONK MAKES 空気質キット Raspberry Pi 用 - FIG223MONK MAKES 空気質キット Raspberry Pi 用 - FIG23

ドキュメント / リソース

MONK MAKES Raspberry Pi 用空気質キット [pdf] 説明書
Raspberry Pi 用空気品質キット, Raspberry Pi 用品質キット, Raspberry Pi 用キット, Raspberry Pi, Pi

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *