ホーム 技術フォロー STN より便利で使いやすいSTN LCDコントロール インターフェース

より便利で使いやすいSTN LCDコントロール インターフェース

Winstar は、幅広いLCDキャラクタディスプレイモジュールを提供しています。 ディスプレイの表示によって、WH0802、WH1202、WH1601、WH1602、WH1604、WH2002、WH2004、WH2402、WH4002などの標準製品が揃えています。最小数の制御ピンを使用して表示を実現できれば、MCUの選択が簡単になります。市販の一般的なキャラクタディスプレイモジュール(Character LCD Module)で、I2Cインターフェイスを使用する場合は、モジュールにI2Cインターフェイスを転換する基盤を追加します。LCMの厚さを増加するだけでしなくて、生産のプロセスも増えて、歩留まり低下などのリスクがつながります。(図1)。

 

figure1-thecommon-character-lcd-module figure2-winstar-wh1602-character-lcd-module
図1: モジュールにI2Cインターフェイスを転換する基盤を追加します。 図2: WinstarのWH1602キャラクタ ディスプレイモジュールは、基盤を追加しなくても、I2C、SPIインターフェースを使用できます。



回路基板を追加せず、Arduino Unoボード と組み合わせて、さまざまな通信インターフェイスを使用して、モジュールを制御することを説明します。

  • Winstar WH1602 LCM: 1 行に 16 文字、合計 2 行を表示できます。
  • Winstar WH2002 LCM: 1 行に 20文字、合計 2 行を表示できます。
  • Winstar WH2004 LCM: 1 行に 20文字、合計 4行を表示できます。

三機種にはRW1063(LCD コントローラー)を内蔵して、I2C、SPIシリアルインターフェースと6800パラレルインターフェイスが使用できます。

付記:インターフェースについての説明はWinstarのサイトに載せている「インターフェースのご紹介」の文章をご参考ください。

LCM のピン配置

表1 : LCM のピン配置
番号 ピンの定義 説明
No.1 Vss グランド
No.2 Vdd ロジック電源(5V)
No.3 V0 コントラスト調整
No.4 RS コマンド/データ選択
No.5 RW インターフェイス 6800 8/4 ビットのみの読み込み/書き込み選択信号
No.6 E インターフェイス 6800 8/4 ビットのみの信号を有効にします。
No.7 DB0/SA0 6800 8 ビットインターフェイスはデータバスライン0です。
I2CインターフェースはSA0アドレス設定ラインです。
No.8 DB1/SA1 6800 8 ビットインターフェイスはデータバスライン1です。
I2CインターフェースはSA1アドレス設定ラインです。
No.9 DB2 6800 8 ビットインターフェイスだけ使用されるデータバスライン2です。
No.10 DB3 6800 8 ビットインターフェイスだけ使用されるデータバスライン3です。
No.11 DB4 6800 8 ビットインターフェイスだけ使用されるデータバスライン5です。
No.12 DB5/CSB/CSB 6800 8 ビットインターフェイスはデータバスライン5です。
I2C & SPI インターフェイスはCSB設定ラインです。
No.13 DB6/SDA/SCLK 6800 8 ビットインターフェイスはデータバスライン6です。
I2Cインターフェイスは SDA データラインです。
SP インターフェイスはSCLKタイミングです。
No.14 DB7/SCL/SID 6800 8 ビットインターフェイスはデータバスライン7です。
I2CインターフェイスはSCLタイミングです。
SP インターフェイスはSIDタイミングです。
No.15 A+ バックライト電源(プラス)
No.16 K- バックライト電源(マイナス)
 

上表のV0については、20kΩの可変抵抗器を使用してコントラストを調整しています。テスト中にテキストが読めない場合や文字に影がある場合は、この可変抵抗器を回してコントラストを調整できます。

V0 可変抵抗の接続方法は図3をご参照ください:

図3VR可変抵抗器の接続方法
図3:VR可変抵抗器の接続方法

 

LCMと開発ボードArduino Unoの配線方法

続いては、I2C、SPI、および 6800 8bit/4bit の4つの通信インターフェイスがArduino Uno に接続される方法です(図4)。I2CおよびSPIインターフェイスが少数のGPIOピンでキャラクターディスプレイモジュールを制御できます。

I2Cインターフェースの接続方法については、Arduino UnoのI2C端子がプルアップ抵抗を備えているため、SDA端子とSCL端子に接続するプルアップ抵抗はありません。一方、プログラムで内部プルアップ抵抗を無効にする場合は、外部からプルアップ抵抗を接続する必要があります。

(a)I2Cインターフェースの接続方法
 
(b) SPIインターフェースの接続方法
 
I2Cインターフェースの接続方法             
 
             SPIインターフェースの接続方法
 
(c)6800-4bitインターフェースの接続方法
 
(d)6800-8bitインターフェースの接続方法
 
6800-4bitインターフェースの接続方法             
 
             6800-8bitインターフェースの接続方法
 
図 4:LCM 4つの通信インターフェイスがArduino Uno に接続される方法です

 

LCMのコマンド

すべての通信インターフェイスがLCMのすべてのコマンドセットを使用できるわけではありません。SPIインターフェイスを使用する場合、RW制御ラインとMISOピンがなくて、読み取りコマンドはサポートされません。書き込みの場合は、RS 制御ラインを介して、コマンドデータを書き込むか、データを表示するかを決定されます。

また、I2C インターフェースには RW 制御ラインがないため、読み取りコマンドはサポートされません。書き込みの場合は、RS 制御ラインがなくて、コマンドデータと表示データを書き込む前に、コマンド制御コード(A0=0)またはデータ制御コード (A0=1) を送信してから次の送信バイトはコマンドデータか表示データかを決定します。

 

SPI および I2C インターフェイスのタイミング

図5と図6はSPIインターフェースインターフェイスを介してタイミング図です。LCM に使用される SPI が、一般的な MCU が提供されるSPI インターフェイスではありません。送信されているバイトがコマンドなのかデータなのかを判断するために、追加のRS信号ラインが必要です。データライン(SID)のビット(BIT7~BIT0)データはクロックライン(SCLK)がロー レベルの時に変化します。ビット(BIT7~BIT0)データはクロックライン(SCLK)がハイレベルの時にビット(BIT7~BIT0)のデータを取り込みます。

図 5 SPI はコマンドを書き込み時のタイミング。
図 5:SPI はコマンドを書き込み時のタイミング。
図 6 SPI はデータを書き込み時のタイミング。
図 6:SPI はデータを書き込み時のタイミング。

図 7 と 8 は、I2C インターフェイスを介して LCM を制御するタイミング図です。 チップ・セレクト・バー (CSB) を除いて、コマンドデータまたは表示データを書き込むために、毎回3 バイトを送信します。このうち、2バイト目のA0ビットによって、3バイト目がコマンドデータか表示データかが決まります。

図 7I2Cはコマンドを書き込み時のタイミング。
図 7:I2Cはコマンドを書き込み時のタイミング。
図8 I2Cはデータを書き込み時のタイミング。
図 8:I2Cはデータを書き込み時のタイミング。

 

コード

LCD モジュールに合わせてプログラムの設定を変更して、コンパイルして直接使用できます。

ステップ 1: LCM の1行の最大文字数を設定します。
たとえば、1 行に最大16文字を設定します。(下記をご参照ください)

コード-ステップ 1-LCM の1行の最大文字数を設定します。

ステップ 2: LCM で最大行数を設定します。
たとえば、LCM が 2 行になるように設定します。(下記をご参照ください)

コード-ステップ 2-LCM で最大行数を設定します。

ステップ 3: LCM通信インターフェースを設定します。
たとえば、I2C インターフェイスを使用します。(下記をご参照ください)

コード-ステップ 3-LCM通信インターフェースを設定します。

ステップ 4: プログラムをコンパイルしてArduino Uno開発ボードにアップロードします。
3 つのパターンの表示画面です。(図9)
コントラストの濃淡は、V0端子の可変抵抗で調整します。(図10)

(a) コントラストが低い、薄い文字しか見えない (b) 適度なコントラスト (c) コントラストが高い、文字に影があります。
図9-3種類のLCMの表示画面-a-1 図9-3種類のLCMの表示画面-b-1 図9-3種類のLCMの表示画面-c-1
図9-3種類のLCMの表示画面-a-2 図9-3種類のLCMの表示画面-b-2 図9-3種類のLCMの表示画面-c-2
図9-3種類のLCMの表示画面-a-3 図9-3種類のLCMの表示画面-b-3 図9-3種類のLCMの表示画面-c-3
図9:3種類のLCMの表示画面
 

図10V0ピンは調整可能です。

図10:V0ピンは調整可能です。

デモコードが必要な場合は、お問い合わせください

製品カテゴリ一覧へ戻る
go top
close