Raspberry Pi5でQt Creatorを使用して、CO2センサーモジュール MH-Z19C、温湿度・気圧センサーモジュールキットAE-BME280(秋月通商)と接続して、計測値をグラフ表示したいと思います。
配線
配線は以下の通りです。UART(MH-Z19C)とI2C(AE-BME280)で通信を行います。

Raspberry Pi5の設定
/boot/firmware/config.txtファイルの設定を変更します。
$ sudo nano /boot/firmware/config.txt
/boot/firmware/config.txtファイル
...
dtparam=spi=on // ここを有効
// 以下を追加
enable_uart=1
dtoverlay=uart0
変更後、再起動します。
以下のデバイスファイルがあればOKです。
/dev/ttyAMA0
/dev/spidev0.0
実装
実装については詳細は省略しますが、以下のように作成しました。
各センサーからの値の取得は、それぞれ独立したスレッドで1秒間隔に実行しています。取得したデータは、シグナル/スロットを介してMainWindowへ渡す構成としました。
MainWindowでは、受信したデータをもとにQChartを使用してグラフ化し、リアルタイムに表示しています。これにより、複数センサーの値を視覚的に確認できるようにしています。
実行
実行結果は、以下のようになりました。
グラフが山になっているところは、息を吹きかけてみました。

以上


コメント