液晶モジュールの制御方法を確認しましたので、BME280で取得した温湿度・気圧データを液晶モジュールに表示するプログラムを作成します。前回までの記事で、以下のプログラムを作成済みです。BME280から温湿度・気圧データを取得するプログラム液晶モジュールの任意の位置に文字を表示するプログラムここまでできていますので、今回作成するプログラムは単に取得したデータを液晶モジュールに表示する部分のみです。表示する部分はprintfを使用しますので、float型の小数点データを表示するのも難しくはありません。今回の記事のプログラムはほとんど解説するところがないですが、簡単にデータ表示部分を解説します。データ表示プログラムBME280で取得したデータは補正をして以下の変数に入っています。actual_press;float型の変数ですので、printf文では「%f」フォーマットで表示すればOKです。温湿度と気圧データの表示について補足しておきます。温度データのフォーマットは「xx.xx°C」と表示したいところですが、液晶モジュールの表示可能文字表を見ると「°C」の文字はありませんので、カタカナの半濁点と「C」を表示することにしました。Cの文字はASCII文字ですので、lcdSendCharacterData(‘C’);と書けますが、半濁点はASCII文字ではありませんので、直接半濁点のコード0xdfをlcdSendCharacterData(0xdf);と書きます。actual_temp);で温度を表示できます。温度データ表示をまとめると以下のようになります。湿度については、小数点以下の数字はあまり意味がなさそうなので表示はしないことにしました。データ自体はfloatですので、表示しても問題ありません。0〜100%表示で3桁になりますので、printf文では以下のようにしました。actual_hum);「%」を表示するには「%%」と書くことを忘れないようにします。気圧データはちょっとした変化を確認したいため、少数第二位まで表示してみます。単位は「hPa」(ヘクトパスカル)ですので、以下のように表示します。actual_press);温湿度・気圧データ表示プログラム上のprintf文を今まで作成したプログラムに追加すれば、BME280で取得した温湿度・気圧データの表示ができます。温度データについては実際より数度高く表示されると思います。これは第28回の記事で説明しましたが、湿度と気圧データ補正用の内部回路の温度のためです。温度データは別に接続したI2C温度センサの方が正確ですので、次回からI2C通信で温度センサの値を読み取るプログラムを作成します。以下はBME280から温湿度・気圧データを取得して液晶モジュールにデータを表示するプログラムです。