今回は液晶ディスプレイに文字を表示するコマンドを説明します。前回の記事で説明したように、液晶モジュールに文字を表示する場合は、文字コード表に従って0x40と文字データを液晶モジュールに送信します。「A」(0x41)を表示したい場合は以下のように0x40と0x41を液晶モジュールに送信すると「A」という文字が表示されます。この状態で「B」(0x42)を表示するために0x40と0x42を液晶モジュールに送信すると、以下のように「A」の隣に「B」という文字が表示されます。このあと、さらに表示したい文字データを送信すると、前に表示した文字の隣に次々に表示されていきます。このように、液晶モジュールは文字データを送信するたびに、表示する場所を1文字ずつ進めながら文字表示してくれます。PCなどの文書作成アプリやエディタは、キーボードで文字を入力するたびに、表示する場所を1つずつ進めながら入力した文字が表示されますよね。液晶モジュールの文字表示方法はそれと同じような仕組みです。表示位置の指定ところで、実践編で作成するプログラムでは、液晶ディスプレイの特定の位置に温度、湿度、気圧データを表示します。上で説明したように、文字データを送るたびに1文字ずつ表示位置を進めながら表示してくれるという仕組みは、それはそれでいいとして、今回は特定の位置に文字を表示するため、液晶モジュールに表示する場所を指定する必要があります。そこで、表示位置の指定方法について説明します。今回使用する液晶モジュールは16文字x2行です。合計で32箇所の文字表示位置があるわけですが、それぞれの表示位置には以下のように「アドレス」という番号が割り当てられています。表示位置の指定は、動作設定コマンドで行います。表示位置指定コマンドのフォーマットは以下になります。2行目の先頭位置(0x40の位置)に表示位置を指定したい場合は、表示位置指定コマンドはになります。1行目と2行目のアドレスが連続していませんので、以下のようにXとYの位置指定ができるように関数を作っておきたいと思います。関数の中身は次回の記事で作成しますが、以下のように計算することにします。関数としては、表示位置(カーソル)の位置を指定するという意味で「lcdLocateCursor」という関数名にします。引数は文字表示位置で、上の図のように座標指定とします。y)を引数として定義することにします。position_y);この時、アドレスの計算は以下のようになります。xアドレスがわかったら、コマンドは第7ビットを1にすればいいので、コマンドは以下のようになります。0x80(|は論理和)数式が出てきたり、2進数の論理演算が出てきましたが、忘れてしまっているようでしたらここでもう一度、数学の本やC言語の本を復習しておきましょう。数式や2進数は電子工作のプログラミングでは避けて通れない項目ですので、時間をかけて十分に復習してみてください。