二酸化炭素濃度を測定する(2)

  • 投稿日:
  • by
  • カテゴリ:

とりあえず数値は読み出せるようになったので、いろいろと改善を加えたくなるわけです。まずは見てくれですね。せっかくLovyanGFXを使っているのに、白字でぽつぽつと字が出ているだけでは面白くもないです。

まあ、とりあえず、ナントカゲリヲンに寄せてみましょうか。

見てくれの調整は今後もちょいちょい継続するとして、集合知によれば、このデバイスは、オンボードのAHT21がENS160の発熱の影響を受けて、温度高め==湿度低め==二酸化炭素濃度違う、という結果を生み出すらしいので、温湿度センサーを別のボードのものに置き換えるのもいいかもしれません。

幸いにも手元には AHT10を搭載したボードがあるのです。ただ、このボード、AHT21とI2Cアドレスが同じなんです。Wire1を使えばいいでしょうか?

どうやら、ESP32-C6はWire1が使えないようで、うんともすんとも言いません。

次に、AHT10ボード上のチップ抵抗を 0x38って書いてある側から0x39って書いてある側に移して、Wireで 0x39を読み出してみます......うん、やっぱり動きません。チャッピーに聞いたら、AHT10は0x38決め打ちで変えられないっていうじゃないですか!じゃあなんでこのボードには思わせぶりな端子とチップ抵抗が載っているんでしょうか?

AHT20/21などを搭載したときのためじゃないかというのがチャッピーの予想ですが、だったらチップ抵抗いらないんじゃないのかなあ?

何にしても、温湿度センサーを変えるなら、全然別のものにするか、I2Cマルチプレクサを使うかするしかなさそうです。

とはいえ、現状でも値は出てきています。それにENS160はNDIRセンサーではないので、もともと値はそれほど精確でもないということですから、換気の目安程度に使うにはこれでもいいのかもしれません。