LCDモジュール SC162シリーズ
2010年6月 ※2011/08 記事を改訂 LCDモジュール(キャラクタ液晶モジュール)はLEDや7セグより表現力が高いので機器の情報を表示するには打って付けのデバイスです。 製作物には必要なくても、開発中のデバッグに使うことはあると思います。 開発作業専用で使い回すLCDモジュールがあると便利です。 今回はそんな工作を紹介します。 LCDモジュールをAVRやPCで制御するプログラムも公開します。 |
LCDモジュールの互換性 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
電子工作のサイトで最もよく見かけるLCDモジュールはSUNLIKE社のSC1602シリーズです。 お馴染み秋月電子で多数販売されていて入手しやすいからでしょう。SparkFunでも様々なLCDモジュールを販売しています(参考リンク)。 これらLCDモジュールを作っているメーカーは何社もありますが、コントローラICは基本的にHD44780(と互換性のあるもの)が使われています。そのおかげでどれも同じ制御プログラムで動作します。ただしピンの配列は微妙に違うので、単純に差し替えても動くとは限りません。最悪の場合、電源逆挿しで壊れます。ピンの配列はデータシートで確認してください。 データシートがないLCDモジュールを使うためのヒント HD44780互換のコントローラがデファクトスタンダードだとすれば、詳細不明のLCDモジュールでも他と同じように使えるかもしれません。それが1列に14ピンまたは16ピン並んでいるものとして、次のように見分けてください。 1.バックライト 14ピンならバックライトなし、16ピンならあり。バックライトのピンは15,16番と思ってよさそう。 どちらがアノードかカソードか、大抵は基板上にA,Kまたは+,-と書いてある。 書いてなければ100Ω程度の電流制限抵抗を付けて5Vを加えてみる。VF=4.2Vと思ってよさそう。 ただしこれが点いたからといって、LCDモジュール本体が使えるかどうかはまだ分からない。 点かなくても、バックライトだけ壊れていてLCDモジュール本体は使えるということもある。 2.信号線 データ線+制御線=計14本の内容と並び順は基本的に下表の通り。 ただしVSSとVDDが逆のものもあるので油断は禁物。例:SC1602B …7ピン2列ですが。 1,2番以外は番号と内容の割り当てはどれも同じと思ってよさそう。3番=Vo〜14番=DB7
3.電源線 基板上の番号印刷からだけでなく、配線パターンの太さでも電源VDD(+V)/VSS(GND)を判断する。 2本のうちどちらがVDD(+V)かVSS(GND)か、周囲のパターンを見て慎重に確認する。 より広いパターンにつながっているのがVSS(GND)。 4.動作電圧 HD44780は2.7V以上5.5V以下で動作する。互換ICも同じと考えてよさそう。 しかし3.3V専用のLCDモジュールもあるので、まず3.3Vで試し、動作しなかったら5Vで試す。 表示確認のためにVoはVSS(GND)に接続する(文字が最も濃くなる設定)。
LCDモジュールの基本的な配線 HD44780互換のコントローラで動作するLCDモジュールは、ピンの並び順が違うことはあっても割り当てられる信号の内容は同じです。 データ線が8本。4bitモードで使うなら、このうちDB4〜DB7の4本を使います。 制御線が3本。よくやる方法としてR/W線をGNDに接続し、E線、RS線の2本を使います。 電源線が3本。VDD(+V), VSS(GND)の他、コントラスト(文字の濃さ)を調節するVoがあります。 バックライト付きのLCDモジュールの場合、アノード、カソードの配線もします。 LEDの電流制限抵抗として数十Ω〜100Ω程度、明るさの好みによって決めます。
HD44780互換コントローラが付いたLCDモジュールの例
S-10551D, SD1602Hは秋月電子で購入。SC162Cはaitendoで購入。 SD1602Hは小型でバックライト付き。秋月電子では他にSC1602シリーズなどSUNLIKEのLCDモジュールを多数取り扱っています。 aitendoはDigiTronのLCDモジュールを多数取り扱っています。16x2タイプはSC162シリーズA〜Dがあり、さらにDigiTron製以外の物もあります。他に8x2, 20x2, 24x2, 40x4タイプなどLCDモジュールの品揃えが豊富です。 取扱商品の情報は2010/06現在 |
LCDモジュールの動作確認 | ||||
データシートが見つからず、「多分HD44780互換だろう」と当てずっぽうで配線した場合、本当にそれで合っているか動作確認をします。…というのは冗談としても、ハンダ付けミスはないか、モジュールが壊れていないかを確認するために動作テスト/表示テストをする必要はあります。テスト内容は、「LCD初期化→画面全体に文字を表示」で十分です。 AVRで制御する AVRに書き込むhexファイル
適当にピン数が多くて安価なATtiny2313を使います。回路図は今回作ったSC162C用ですが、他のLCDモジュールでも信号線を合わせればプログラム(hexファイル)はそのまま使えます。 SC162Cは、SUNLIKEのSD1602と比べてバックライトのピン(15,16)の並びが逆であることに注意。 ただし15ピンがアノード(A,+)、16ピンがカソード(K,-)であることは同じです。もしSD1602と共用のケーブルを作るなら、バックライトのA/K逆接続を回避するよう工夫してください。 同梱のlcdlib.c/.hは自作のLCD制御ライブラリです。このサイトで公開しているLCD関係の工作でも同じものを使っています。今後もバージョンアップを重ねて行きますが、上記のものはこの記事公開時点での最新版です。 PCで制御する PCからパラレルに信号線を操作する方法でLCDモジュールを制御します。 ここでは仮想COMポートのモジュールであるAVR-CDC(CDC-IO)のATtiny2313版を使いました。 「AVR USB接続の周辺機器をPCから操作する〜仮想COMポート〜」で作ったもの。 USBコネクタにつないだAVR-CDCはPCからはCOMポートに見え、プログラム上ではCOMポートをオープンして接続します。またAVR-CDCは、自身であるATtiny2313のポートをプログラム上から操作することができます。それによりLCDモジュールが制御できるようになります。 AVR-CDCでなくとも、USB-シリアル変換ICでよく知られているFT232Rをビットバンモードで使い、同様のLCD制御プログラムを組むこともできます。要するに、LCDモジュールの電源を確保し、6本の線をパラレルに操作できる方法なら何でもよいのです。 PC用LCDテスト表示プログラム
開発環境: WindowsXP、.NET Framework 3.5、Visual Studio 2008 Exp.Edition/C# 動画説明 テストプログラムを実行すると、LCDモジュールにAVR版と同じ画面が表示され (1234567890123456/ABCDEアイウエオabcdeカ)、2秒後に上記写真の画面に切り替わります。 1行目は表示がバグってるわけではなく、もともとそれらの記号を表示するようになっています。 2行目の1文字目はユーザー定義文字です。PCからでも文字の定義は出来ますよ、というデモ。 その後の負数は32bit符号付き整数の最小値です(C#のInt32.MIN_VALUE)。 AVR-CDCとの通信が9600bpsなので表示が遅いです。1行3秒くらい。 通信速度を上げれば表示は速くなります。AVR-CDCをバルク転送モードで使うか、FT232Rへ移行。 プロジェクトフォルダ内の主なファイルの説明 [CdcIO.cs] AVR-CDCを操作するクラス。オリジナルのcdcio.csにRxD/TxDの制御を加えたもの。 「AVR USB接続の周辺機器をPCから操作する〜仮想COMポート〜」などで使用したもの。今回RxD/TxDは関係なし。 [ATtiny2313.cs] ATtiny2313のSFR(Special Function Register)とビットの値を定義したもの。 「AVR USB接続の周辺機器をPCから操作する〜仮想COMポート〜」などで使用したもの。 [LcdLib.cs] AVRで使用したlcdlib.c/.hをAVR-CDCで使えるように移植したもの。 文字コードの違いに注意 C#(.NET Framework)でデフォルトの文字コードはUnicodeです。LCDモジュール側の文字コードはShift-JISです。従って文字を表示するときに、文字コードを変換する必要があります。 |
関連サイト |
秋月電子通商 …SC1602/SD1602他を販売。 aitendo …SC162シリーズ他を販売。データシートあり。 SUNLIKE …SC1602/SD1602シリーズのメーカー。データシートあり。 DigiTron …SC162シリーズのメーカー。寸法図(ピンアサイン付き)あり。 Recursion …AVR-CDCを公開。トップ - Prose - USB Interface (- Japanese) / CDC-IO FTDI …FT232Rのメーカー。ドライバあり。 Microsoft …Visual Studio(この記事公開時点での最新版は2010)、.NET Framework 3.5(WindowsXPで必要) |
◆ ◆ ◆ |
「いつものヤツ」とは違うLCDモジュールも、実はいつも通りに使えます。 選択肢と楽しみが増えました。 |
(C) 『昼夜逆転』工作室 | [トップページへ戻る] |