しなぷすのハード製作記

ArudinoでグラフィックLCDを動かす(SG12864ASLB-GB編)(1)

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ
SG12864ASLB-GBをArduinoで制御した例
SG12864ASLB-GBをArduinoで制御した例

目次

1. はじめに … 1ページ
2. SG12864ASLB-GBについて … 1ページ
3. OnBoardについて … 2ページ
4. OnBoardでSG12864ASLB-GBを動かす … 2ページ
5. OnBoardを使ってみて気づいた点 … 2ページ
6. MGLCDライブラリについて … 3ページ
7. MGLCDライブラリをインストールする … 3ページ
8. MGLCDライブラリのデモスケッチを動かしてみる … 3ページ
9. Arduinoの種類と描画速度 … 3ページ
10. MGLCDライブラリでHello World … 4ページ
11. MGLCDライブラリの主な関数(テキスト表示編) … 5ページ
11-1. 内蔵フォント … 5ページ
11-2. print関数およびprintln関数 … 5ページ
11-3. ClearScreen関数 … 5ページ
11-4. Locate関数 … 5ページ
12. MGLCDライブラリの主な関数(グラフィック表示編) … 6ページ
12-1. グラフィック座標系 … 6ページ
12-2. SetPixel関数 … 6ページ
12-3. Line関数 … 6ページ
12-4. Rect関数 … 6ページ
12-5. FillRect関数 … 6ページ
12-6. Circle関数 … 6ページ
12-7. FillCircle関数 … 6ページ
12-8. Line関数を用いたデモスケッチ … 6ページ
13. PWM出力のデューティー比でコントラストを調整する … 7ページ
14. PWM出力のデューティー比でコントラストを調整する(続き) … 8ページ

1.はじめに

秋月電子SG12864ASLB-GBというグラフィックLCDモジュールを購入したので、Arduino UnoにつないでMGLCDライブラリで動かしてみました。

また、densikit.comさんからOnBoardという、ブレッドボードを使ったプロトタイピングに特化したArduinoクローン機の試作基板をいただきましたので、OnBoardでも回路を組み、Arduino Unoを使った場合との使用感を比較しました。

2.SG12864ASLB-GBについて

SG12864ASLB-GBは秋月電子で1,600円で販売されている、横128ピクセル、縦64ピクセルのモノクログラフィック液晶です。次に、SG12864ASLB-GBの外観の写真を示します。

写真1、SG12864ASLB-GB(表)
↑ 画像をクリックすると拡大
写真1、SG12864ASLB-GB(表)
写真2、SG12864ASLB-GB(裏)
↑ 画像をクリックすると拡大
写真2、SG12864ASLB-GB(裏)
広告

一番下側に、20ピンの端子が2.54mmピッチで一列に並んでいます。そのためブレッドボードでの試作がとてもやりやすいLCDモジュールです。また、5Vの電源だけで動作するので、5V系のArduinoに直結でき、DC-DCコンバータや信号レベルの変換器なども不要です。内蔵されているLCDコントローラはKS0107です。

SG12864ASLB-GBにはLEDバックライトもついていますが、300~500mAも電流を流す必要があり、それなりの電源を用意する必要があります。またバックライト点灯時に、電源の配線を細い線で長く引き回すと、配線における電圧降下が無視できなくなります。

これから、しばらくSG12864ASLB-GBのハードウェアの説明をしますが、単にArduinoで画面表示をしたいとう人は、ハードのややこしい制御はMGLCDライブラリが全てやってくれるので、細かい事は理解できなくてもOKです。

各端子の名称と働きを次の表に示します。

表1、SG12864ASLB-GBのピンの名称と働き
番号 名称 働き
1 VSS GND電源端子(0Vを入力)。
2 VDD ロジック電源入力(5Vを入力)。
3 VO コントラスト調整用アナログ電圧入力。
4 D/I ロジック入力。Hの場合はDB0~DB7のバスはデータを表わす。Lの場合は、命令コードを表わす。
5 R/W ロジック入力。Hの場合はリードアクセスを表わす。Lの場合はライトアクセスを表わす。
6 E イネーブル信号。
7 DB0 ロジック入出力。データバスの0ビット目(LSB)。
8 DB1 ロジック入出力。データバスの1ビット目。
9 DB2 ロジック入出力。データバスの2ビット目。
10 DB3 ロジック入出力。データバスの3ビット目。
11 DB4 ロジック入出力。データバスの4ビット目。
12 DB5 ロジック入出力。データバスの5ビット目。
13 DB6 ロジック入出力。データバスの6ビット目。
14 DB7 ロジック入出力。データバスの7ビット目(MSB)。
15 CS1 ロジック入力。画面の左半分を制御するコントローラICのチップセレクト信号。アクティブハイ
16 CS2 ロジック入力。画面の右半分を制御するコントローラICのチップセレクト信号。アクティブハイ
17 /RES ロジック入力。Lにするとリセットがかかる。
18 VOUT LCD駆動用の負電源出力。
19 A バックライトLEDのアノード端子(4.2V)。
20 K バックライトLEDのカソード端子(0V)。

制御の仕方は、以前紹介したSG12232Cを68系インターフェースで使った場合ととても似ています。

また、SG12232Cでは2kHzのクロックを外部から供給する必要がありましたが、SG12864ASLB-GBはクロックを要求しないので、使いやすくなっています。

また、同じく以前紹介したS12232ZAの場合はVO端子に負の電圧を印加するために、外部に負電源回路を設ける必要がありましたが、SG12864ASLB-GBの場合はVOUT端子に負電圧が出てくるので、外部に負電源回路を設ける必要がありません。VOUTには、実測値で-9.8V程度の電圧が出ていました。おそらく、-2倍のチャージポンプ回路が内蔵されているのでしょう。

SG12232Cと比較した場合、SG12864ASLB-GBを制御する上での主な注意点は次の様になります。

最後のステータスリードについて少し説明します。SG12232Cの場合は、発行された命令を一つだけ記憶しておくバッファが、コントローラICに内蔵されており、他の命令を実行中でも、とりあえず次の命令を受け付けてくれました。その結果、バスサイクル時間を守っていれば、前の命令の実行が終わっている事を確認しなくても、次の命令を発行できました。

しかし、SG12864ASLB-GBは、SG12232Cにあるような命令バッファがないため、前の命令の実行中に次の命令を発行しても、受け付けてくれません。そのため、ステータスリードコマンドをポーリングし、命令が実行中でないことを確認してから次の命令を実行する必要があります。もちろん、ステータスリードのポーリングを行わずに、余裕を持った遅延時間の後に次の命令を発行する方法もありますが、安定した動作を保証するには遅延時間をかなり多めに取る必要があり、パフォーマンスが低下します。

LCDのコントロール法の詳細についてはLCDモジュールに付属の資料に載っているので省略するとして、次にArduinoとLCDの配線法について説明します。Arduino UnoとSG12864ASLB-GBの標準的な配線を表わす回路図を、次に示します。

図1、回路図
↑ 画像をクリックするとPDFファイルで表示
図1、回路図

Arduino Unoとブレッドボードを使って上の回路図の結線をすると、次の写真の様になります。

写真3、Arduino Unoに接続したSG12864ASLB-GB
↑ 画像をクリックすると拡大
写真3、Arduino Unoに接続したSG12864ASLB-GB

後述する方法でMGLCDライブラリのサンプルスケッチを実行すると、上の写真のように、表示がうまくいくことを確認できました。

なお、上の写真ではArduino Unoを使いましたが、Arduino Mega 2560Arduino LeonardoおよびArduino Pro 328 5V 16MHzでも同じ結線でLCDを制御できます。

次のページでは、Arduinoの互換機であるOnBoardの説明をします。

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

Arduino Uno用ブートローダスケッチライタシールドキット 商品名 Arduino Uno用ブートローダスケッチライタシールドキット
税抜き小売価格 1200円
販売店 スイッチサイエンス
サポートページ
Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 2200円
販売店 スイッチサイエンス 妙楽堂
サポートページ
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
サイトマッププライバシーポリシーお問い合わせ用語集
しなぷすのハード製作記