Arduino + グラフィック液晶

追記

KS0108 Graphics Library で公開されているライブラリ(Version: 2, relased on May 26, 2009)を試したところ、SG12864A でも、下記の変更は不要でした。機能も増えているので、オリジナルの新しいライブラリを使われることをお勧めします。
(2009/12/31 追記)

はじめに

Arduino に秋月電子で買った SUNLIKE の 128×64 ドットのグラフィック液晶 SG12864A をつないで見ました。Arduino: Playground で紹介されている KS0108 Graphics Library のタイミングを決めているルーチンをちょっとだけ変更したら表示できました。SG12864A には KS0107 相当のチップが載っているらしく、KS0108 とは互換性があるようです。12864 Graphics LCD libraryでも動くかもしれません(試していません)。

つなぎ方

KS0108 Graphics LibraryのBのタイプの接続です。下記に表を引用しておきます。もちろん、コントラスト調整用の半固定抵抗のピンは左右を入れ替えても構いません。

GLCD Panel Pinouts
Arduinoのピン番号 Function 液晶のピン番号 Comments
5V+5 volts2 
GndGND110kΩの半固定抵抗の右端のピンへ
-Contrast in310kΩの半固定抵抗の中央のピンへ
8D07 
9D18 
10D29 
11D310 
4D411 
5D512 
6D613 
7D714 
14 (analog0)CSEL115Chip 1 select
15 (analog1)CSEL216Chip 2 select
ResetReset17Arduino の reset ピンではなく +5Vにプルアップ抵抗でつないでも構わない
16 (analog2)R_W5Read/write
17 (analog3)D_I4Data/Instruction (aka RS)
18 (analog4)EN6Enable
-Contrast out1810kΩの半固定抵抗の左端のピンへ
-Backlight +519100 から 330 Ω程度の抵抗を通して +5vへ
GndBacklight Gnd20 

ライブラリを使う

インストール

変更を含んだファイル ks0108GLCDp.zip をダウンロードして適当なディレクトリに展開してください。展開したディレクトリ ks0108GLCDp を arduino の hardware ディレクトリの中の libraries ディレクトリにコピーします。hardware→libraries→ks0108GLCDpの中に readme.txt や examples ディレクトリがあれば OK です。

examples

arduino IDE を起動して、SketchBook→Examples→Libraries→Library-ks0108GLCDp→GLCDexampleを試してみてください。arduino-0015 でテストして、最初の写真のように動いています。写真ではバックライトを点灯していません。点灯すればもっと見やすくなるはずです。

タイミングの変更について

オリジナルのライブラリでは、タイミングが早くて表示が乱れていたので、delay450ns(), ks0108::Enable() の2つの関数で少し時間待ちが長くなるように変更しているだけです。

関連リンク


戻る (本を出しました: はじめてのPICアセンブラ入門 | センサとデジカメで遊ぶ電子工作入門 | 玄箱PROと電子工作で遊ぼう )
Copyright (c) 2009, Noriaki Mitsunaga