はじめに
Sequence MakerはExcelから測定器を制御可能にするアドインです。この記事ではSequence Makerからシリアル通信でCO2濃度を測定する方法を解説します。測定器はIODATA製の高精度CO2センサー「UD-CO2S」を使用します。Sequence Makerについての詳細は以下の記事を参照ください。
お断り
本記事の内容はSequence Maker開発元の公式見解ではなく、あくまでも個人が趣味の範囲内で執筆しているものです。記事の内容について開発元へ問い合わせることはお控えください。ご質問・要望などは各記事のコメント欄へお願いいたします。
IODATA製の高精度CO2センサー「UD-CO2S」
UD-CO2Sは高精度なCO2センサーでUSB通信機能を備えています。本来はWindowsの専用アプリを使用してCO2濃度や温度、湿度などを表示可能なのですが、USBは仮想COMポート(シリアル通信)として認識するので、Sequence Makerから値を取得することも可能です。ただし、残念ながら2023年8月に生産終了とのことで、現在は入手困難です。メルカリかヤフオクなどにたまに出品されています。
(https://www.iodata.jp/product/tsushin/iot/ud-co2s/ より引用)
通信確認
デバイス認識
まずはパソコンにUSB接続してみると「USBシリアルデバイス」として認識します。今回はCOM4でした。
シリアルポートの設定
設定 | 値 |
---|---|
スピード | 115200bps |
データ | 8bit |
パリティ | none |
ストップビット | 1bit |
フロー制御 | none |
制御方法
制御 | コマンド |
---|---|
測定開始 | STA |
測定終了 | STP |
測定を開始すると2秒ごとに以下のようなデータが送られてきます。
左からCO2濃度、湿度、温度です。
CO2=2701,HUM=56.3,TMP=28.1
Tera Termで確認
途中で息を吹きかけたらCO2濃度が急上昇しました。
OK STA
CO2=1182,HUM=52.9,TMP=29.2
CO2=1183,HUM=53.0,TMP=29.2
CO2=1183,HUM=53.0,TMP=29.2
CO2=1183,HUM=53.0,TMP=29.2
CO2=1183,HUM=52.9,TMP=29.2
CO2=1218,HUM=57.4,TMP=29.2
CO2=1270,HUM=66.7,TMP=29.2
CO2=1389,HUM=74.4,TMP=29.3
CO2=1709,HUM=82.5,TMP=29.2
CO2=3362,HUM=86.5,TMP=29.3
CO2=7951,HUM=90.5,TMP=29.4
CO2=13648,HUM=92.3,TMP=29.4
CO2=17392,HUM=93.1,TMP=29.5
CO2=16658,HUM=93.6,TMP=29.4
STP
OK STP
Sequence Makerで測定
インターフェイス設定
インターフェイス #1でCOM4を選択し、以下のように設定します。スピードだけデフォルト値から変更する必要があるので注意してください。
コマンド準備
Excelのワークシートにコマンドを記載していきます。
まずは測定開始のコマンド(STA)を入れ、その後は「UD-CO2S」側から勝手にデータを送ってくるので、受信動作だけをします。Sequence Makerでは受信動作を
#READ?
と書くだけでOKです。
しばらく受信を続け、最後に測定終了のコマンド(STP)を入れます。
測定
STAを選択し、「コマンド送受信」ボタンを押します。
測定が開始し、2秒ごとに送られてくるデータが受信できました。
なお、データはコンマ区切りなので、オプションから「コンマとセミコロンで分割」にチェックを入れておくと、別々のセルに入っていい感じです。
まとめ
今回はSequence Makerからシリアル通信でCO2濃度を測定する方法を解説しました。シリアル通信のためのプログラミングをしなくても、コマンドを書くだけでデータが取れるのは嬉しいですね。データはExcelのセルに入ってくるので、あとは数値の切り出しをして、グラフ化するなり統計処理するなり自由に加工可能です。