I2Cアダプタなしで直接通信できるキャラクタLCDモジュール。
I2C LCD モジュール(16文字×2行)
以前に通常のパラレル接続のキャラクタLCDモジュールに後付けしてI2Cで制御することのできるインターフェース基板を記事にしましたが、モジュールの裏側に後付けするため結構かさばるためにキツキツ実装が好きな(苦笑)私に取っては使いづらい面があって他に何とかならないかと悩み続けていました。
もちろん秋月からもI2C接続キャラクターLCDモジュール(販売コード105693)という商品があるのですが3.3V仕様という事もあり手を出していませんでした。
某大手通販サイトで久しぶりに「LCD 1602」のキーワードで検索すると5V仕様で同様な商品を発見、早速取り寄せて確認をしてみました。
この手のモジュールに使われているI2C 8bit I/Oエクスパンダはデバイスが複数種類あるらしく、8574TならばI2Cアドレスが0x27、8574ATならば0x3Fになるようで、届いた商品は8574TでしたのでI2Cアドレスは0x27で通信。
Arduinoのライブラリに”LiquidCrystal I2C”というのがあり、前回もこのライブラリを使ってスケッチ例を利用してテストプログラムとして動作させてみました(プログラムはこちらの記事のスケッチがベースです)。ホストはプロトタイプシールドに載せたArduino Nano互換ボードです。
動作確認
使用するにあたりインスタンス生成時にターゲットのI2Cアドレスを指定できますので、そこに0x27を指定してコンパイルし、ブートローダー経由でアップロードしました。
以前の後付けモジュールもネットで検索すると搭載しているデバイスによって0x27か0x3Fの二種類があるとのことでしたが、前回は0x3Fとなっていたので0x27に変更してコンパイル〜アップロードしました。アドレスについては半田ジャンパがあり、今回のモジュールではI2Cアドレスに0x20〜0x27まで変更できますので複数モジュールをバス接続しても個別に制御できるようになっています(プルアップされているのでジャンパをショートするとLowになります)。
このモジュールはかなり良くできていてコントラスト調整の半固定抵抗を入れなくてもいい塩梅のコントラストで表示してくれるところです。電源を含めたI2Cコネクタだけで何も外付け不要で動作してくれるのはかなり使い手の痒いところに手が届く仕様になっていて感心しました。
(メーカーサイトの製品情報はこちら)
モジュール裏面
モジュールの裏側を見ると何も記載がありませんが3.3V化を行なったLCDモジュールと全く同じパッドがあります。多分ここに所定の部品を実装し、半田ジャンパをすると3.3Vで駆動できるようになると考えられます。
メイン基板上に全ての部品が実装されて小基板を必要としないので非常にスッキリです。使用できる信号バスもI2Cだけでは無く、通常のパラレルインターフェイスも使用できるため実装に柔軟度が高いモジュールと言えます。
I2C小基板のタイプの実装スペースで悩んでいて後付け基板をモジュールに直付けするのではなく必要な電源や信号線をコネクタを用いて延長・離して実装しようか考えていたのですが、余計な手間をかけずに使えるこのモジュールで製作を進めることにしました。