ArduinoでI2C接続のLCDに文字を出してみる

Lチカが動いたので、続いて液晶パネルに文字を表示してみる。手元にI2Cインタフェースの1602液晶があるのでこれを使う。

「hello, world!」くらいは探せば見つかるだろうと思ったら、やっぱりたくさんある。

コードをそのまま使わせてもらって難なく動いた。ただ、ちょっと気になったのは、I2CのSDAとSCLが、それぞれA4、A5ピンとなっていること。基板上にズバリSDAとSCLっていうピンがあるんだけど…。

調べてみたら、この二つは単純にA4とA5につながっているだけだった。以下、Arduino UNO R3の回路図から引用。

SDA、SCL専用ピンがあるからと言って、A4とA5が開放されたわけじゃないみたい(I2Cを使うなら、A4とA5は潰れる)。

「hello, world!」が表示できたので他の例もと思い、こちらを試してみる。

外付け部品なしで内蔵のADCだけを使って電源電圧を測るとは面白い。

早速コンパイルしてボートに書き込んでみるが、何も表示されない…。あー、こちらは、I2C接続の液晶じゃないのか。

最初の例と見比べてみたところ、初期化周りがちょっと違うだけで、文字表示等の関数名は同じにしてあるみたい(おそらく、「I2Cライブラリの方が合せた」ということだろうけど)。ということで、その辺りを修正。

グレーの矢印のところが元のソースをコメントアウトした部分。赤で示したところが変更(追加)したコード。

これで無事動いてくれた。

Arduinoという決まったハードウェアで動かすわけなので、AVRのレジスタの設定やらI/Oの設定やらといった面倒なことは一切考えなくていいのか。なるほど、これはプロトタイプの環境としては楽だ。

しかし、この液晶パネル、3.3Vで動作させることを想定しているのか、5Vで動かすとバックライトが眩しい。

この記事のタイトルとURLをコピーする
スポンサーリンク
スポンサーリンク
スポンサーリンク