Arduino Shield series 汎用 LCD I2C 化アダプター I2C LCD Galileo 7 Printed 2010-02-06 本製品について 豊富に出回っている汎用のキャラクター液晶ディスプレイモジュールは パラレル接続でコントロールするようになっていますが これを I2C(TWI) でコントロールできるようにするアダプターです 電源以外に 2 本の制御線をつなぐだけでコントロールできるため ピン数の少ないマイコンに最適です 汎用の液晶ディスプレイモジュールを使用するため 好みの文字数やデザインのものを使うことができます 電源は 5V 対応ですが 最近増えてきている 3.3V の電源系でも使えるよう LCD 駆動電圧を発生するためのチャージポンプ回路を搭載しています バックライト LED の ON/OFF 制御もできます ( 電源 5V 時 ) おまけ機能として シリアルでも文字表示や簡単なコントロールができます ( 写真左 : バックライト LED 制御ありとして組み立てた例 右 :3.3V 対応として組み立てた例 ) はじめにお読みください 本製品は電子工作キットのため 電子回路や組み立てについて知識のある方を対象としています 誤った取扱いをすると 本製品やこれを取り付ける機器の故障や損傷 感電 火災やその他の重大な事故につながる可能性があります 本製品を使用したために発生する損害については 責任を負いかねます 細心の注意を払って製造しておりますが 丌良品等がありましたら同等の新品と交換させていただきます 本製品を取り扱う際には けがや事故 破損などにご注意ください 静電気により故障する可能性がありますので アースバンドなど静電気対策を行ってください 本製品の仕様は 改良やその他の理由で予告なく変更することがあります
パーツリスト 組み立て前にすべてのパーツがそろっているかご確認ください 種類 品番 数 種類 品番 数 基板 I2C LCD 1 コンデンサ 0.1uF (104) 積層セラミック 1 IC ATtiny2313 1 コンデンサ 10uF 電解 1 半固定抵抗 10~50kΩ 1 コネクタ IC ソケット 20P 1 3.3V の電源で使用される場合は 以下のパーツも必要です 種類 品番 数 種類 品番 数 ダイオード 1S1588 (1S2076A 等 ) 2 コンデンサ 0.1uF (104) 積層セラミック 2 バックライト LED の ON/OFF 制御を使用される場合は 以下のパーツも必要です 種類 品番 数 種類 品番 数 トランジスタ 2SC1815 1 抵抗器 4.7kΩ 1 抵抗器 22~100Ω(LED 電流による ) 1 キャラクター液晶ディスプレイモジュール ヘッダーピン ソケット等は別途ご用意ください 回路図
組み立て 各パーツや組み立てについての詳細は 知識のある方を対象と想定しているため省略しています 組み立ては背の低い部品から半田付けしてください 抵抗器 コンデンサ 最後にコネクタ類という順序で半田付けすることをおすすめします IC ソケットのある IC は 組み立てが完了してから IC ソケットへ取り付けてください 5V 対応とする場合は ジャンパーをはんだ付けしてください ( 図中 紫色 ) 3.3V 対応とする場合は チャージポンプ回路のパーツを半田付けしてください ( 図中 緑着色 ) バックライト LED に対応する場合は 該当回路のパーツを半田付けしてください ( 図中 赤着色 ) ヘッダーピンは使用する液晶ディスプレイモジュールに合うよう 1 列 2 列 基板の表裏を使い分けてください 半固定抵抗は裏面につけると 液晶ディスプレイモジュールを重ねて使用する際に操作が楽です 数値のないコンデンサは 0.1uF( 積層セラミック ) です 極性のあるパーツは 印のあるほうが + 極です IC は 印が 1 番ピンです 図中 品番記号や単位記号 ( 抵抗器 :Ω コンデンサ :F) を省略しています 値が ~ 表記の部品は その範囲内の別の部品を使用することがあります ジャンパー設定 ジャンパーの設定により 液晶ディスプレイモジュールのピン配置に合わせた電源の供給が可能です 電源を逆接続すると 本製品やモジュールが故障する可能性がありますので モジュールの仕様書をよくご確認ください ( パーツの足の切れ端等をはんだ付けしてください ) 1:Vss(GND) / 2:Vdd 1:Vdd / 2:Vss(GND)
使い方 液晶ディスプレイモジュールと I2C について知識のある方を対象としているため 詳しい解説は省略しています SCL SDA は通信速度に応じた値の抵抗器でプルアップしてください 本製品のスレーブアドレスは 0111110 です ( 設定により 0111111 ) 通常 液晶ディスプレイモジュールをパラレル接続した場合には インストラクションコードにより初期化し 文字コードを送って表示を行いますが I2C でも同様のデータを送り操作を行います I2C により スレーブアドレスと RW 信号 RS 信号 ( とコントロールバイト ) データの順に送ります データは液晶ディスプレイモジュールのインストラクションコード または表示する文字コードを指定します ( インストラクションコードの詳細は液晶ディスプレイモジュールの仕様をご覧ください ) 3.3V 対応とする場合は コントロールバイトのチャージポンプを ON に設定してください ボリュームは液晶の表示濃度の調節用です 見やすい濃度に調節してお使いください Galileo 7 ホームページでサンプルスケッチを公開していますのでご参照ください I2C 通信例 LCD へ 1 バイト書き込み S 0 1 1 1 1 1 0 0 A x RS CE C4 C3 C2 C1 C0 A D7 D6 D5 D4 D3 D2 D1 D0 A T Slave Address Write Control Byte Data Byte LCDへ複数バイト書き込み S 0 1 1 1 1 1 0 0 A x RS CE C4 C3 C2 C1 C0 A D7 D6 D5 D4 D3 D2 D1 D0 A D7 D6 D5 D4 D3 D2 D1 D0 A A T Slave Address Write Control Byte Data Byte Data Byte LCD より 1 バイト読み込み S 0 1 1 1 1 1 0 1 A D7 D6 D5 D4 D3 D2 D1 D0 A T Slave Address Read Data Byte (from LCD) LCD へ Control Byte を送信後 1 バイト読み込み S 0 1 1 1 1 1 0 0 A x RS CE C4 C3 C2 C1 C0 A S 0 1 1 1 1 1 0 1 A D7 D6 D5 D4 D3 D2 D1 D0 A T Slave Address Write Control Byte Slave Address Read Data Byte (from LCD) S :Start Condition T :Stop Condition A :Acknowledgement SDA SCL Start Condition Stop Condition
コントロールバイト x は未使用 RS は LCD の RS 信号の値に反映されます (0:Low 1:High) CE が 1 のとき C4~C0 の値は設定データとなり 内容は以下とおりです C4 C3 C2 C1 C0 機能 0 L P A I L= バックライト LED の点灯制御 (0:OFF 1:ON) P= チャージポンプ (0:OFF( 電源 5V) 1:ON( 電源 3.3V)) A=I2C スレーブアドレス (0: 0111110 1: 0111111 ) I= 液晶モジュールの自動初期化 (0:OFF 1:ON) 1 - - - - 予約 設定は保存され次回の電源 ON 時にも有効です ( 印は次回電源 ON 時から有効 ) 自動初期化は カーソルなし 5x8 ドット 2 行として初期化されます 処理に約 0.6 秒かかります シリアルによるコントロール おまけ機能として シリアル (RXD のみ ) でも文字表示や簡単なコントロールができます シリアルの転送速度は 9600bps ストップビット 1bit パリティなし フロー制御なしです シリアルで受信した文字をそのまま液晶ディスプレイモジュールへ表示します インストラクションコードを処理することはできませんので あらかじめ I2C のコントロールバイトの設定により自動初期化を ON にしておいてください 以下のエスケープシーケンスが利用できます (ESC 文字コードは 0x1b です ) 画面クリア ESC [ * または ESC [ 2 J カーソル移動 ESC [ y ; x H または ESC [ y ; x f (x 桁 y 行 ) カーソルあり ESC [ > 5 l カーソルなし ESC [ > 5 h キャラクター液晶ディスプレイモジュール 普通 液晶ディスプレイモジュールの電源は 5V ですが 搭載されている制御 IC は 3.3V で動作可能のものが多くあります 制御 IC に日立製 HD44780 が搭載されている場合は IC 表面に U の印字があるものが 3.3V で使用可能です (Sunlike 社の LCD モジュールは互換 IC が搭載されていますが 多くは 3.3V で使用できるようです ) モジュールメーカーの動作保証はありませんので あらかじめ 3.3V での稼働を確認の上ご使用ください 3.3V 動作させる場合は I2C により チャージポンプの設定を ON にしてください 電源が 5V の場合は I2C により バックライト LED の ON/OFF 設定ができます 電源が 3.3V の場合 バックライト LED を点灯させることはできません バックライト LED には別途電源や DC-DC コンバーター等をご用意ください ( モジュールにより 4.2~4.6V の電圧が必要です )
ファームウェア 本製品に使用している ATtiny2313 には あらかじめファームウェアを書き込んだ状態で出荷しています 改良のため ファームウェアは随時更新しています 最新のファームウェアについては Galileo 7 ホームページで公開しています なお ファームウェアのアップデートを行うには AVR マイコンへプログラムを書き込むためのライターが必要です 参考 ( 使用例 ) 液晶ディスプレイモジュール接続イメージ ( 使用モジュール :Sunlike 製 SD1602HULB SD1602HUOB) 液晶ディスプレイモジュール接続イメージ ( 使用モジュール :AZ DISPLAYS 製 ACM0802C)