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 volts | 2 | |
Gnd | GND | 1 | 10kΩの半固定抵抗の右端のピンへ |
- | Contrast in | 3 | 10kΩの半固定抵抗の中央のピンへ |
8 | D0 | 7 | |
9 | D1 | 8 | |
10 | D2 | 9 | |
11 | D3 | 10 | |
4 | D4 | 11 | |
5 | D5 | 12 | |
6 | D6 | 13 | |
7 | D7 | 14 | |
14 (analog0) | CSEL1 | 15 | Chip 1 select |
15 (analog1) | CSEL2 | 16 | Chip 2 select |
Reset | Reset | 17 | Arduino の reset ピンではなく +5Vにプルアップ抵抗でつないでも構わない |
16 (analog2) | R_W | 5 | Read/write |
17 (analog3) | D_I | 4 | Data/Instruction (aka RS) |
18 (analog4) | EN | 6 | Enable |
- | Contrast out | 18 | 10kΩの半固定抵抗の左端のピンへ |
- | Backlight +5 | 19 | 100 から 330 Ω程度の抵抗を通して +5vへ |
Gnd | Backlight Gnd | 20 | |
ライブラリを使う
インストール
変更を含んだファイル 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