BS21 Lab の製品 - Arduino 用 漢字 LCD シールド v2(製品番号:BS21LAB-014)
24/july/2014 新規
10/aug/2014 更新
Arduino 用 漢字 LCD シールド Version.2 です。TWI (I2C) 方式専用です。
全角8文字×2行で、日本語を表示する事ができます。
標準構成(5V 専用)と、拡張構成(3.3V/5V 兼用:要別売りオプション)の2種類あります。
Version.1 基板(BS21LAB-002)の後継版です。
- 概要
- ギャラリー
- ご購入方法
- 注意事項
- 免責事項
- 仕様
- 表示できる文字
- 組立て方法
- 使用方法
- ソフトウェア
・概要
従来のキャラ LCD で使用できた半角 157 字に加えて、JIS 漢字規格の第一水準+αの全角 3737 字 (一覧表) が使用できます。
第二水準漢字はサポートしていませんので、難しい漢字は表示できませんが、Arduino で使うならば十分でしょう。
符号化方式は UTF-8 が選べますので、Arduino のスケッチにそのまま日本語を入力してコンパイルするだけで OK です。
本製品の標準構成は 5V Arduino 専用ですが、別売りの「漢字/カナ LCD シールド 3.3V/5V 兼用化オプション」を追加すれば、3.3V/5V 兼用にする事も可能です。
Version.1 基板(BS21LAB-002)との違い
| Version.2(本製品) | Version.1(旧製品) | コメント |
3.3V 対応 | 別売りオプションで対応可能 | 正式には非対応 ※運が良ければ動作する | |
ジャンパーピンSS1,SS2 | NKK 製 SS-22DP2 に置き換え可能 | 置き換えられない | SS-22DP2 は添付されてません。別途、御用意ください。 |
Arduino 用ピンソケット | 添付 | 別売り | |
TWI アドレス | 0x38〜0x3B の4つから選択 | 0x38〜0x3F の8つから選択 | 基板スペースの関係で減少 |
Reset SW | 無し | 有り | 基板スペースの関係で削除しました |
本製品は組み立て式キットとなっています。組み立て方は組立て方法を御覧下さい。
・ギャラリー
全体写真:クリックすると拡大します。(この写真は拡張構成(3.3V/5V 兼用)版です。また、Arduino Uno は付属していません)
最小スケッチ例:これだけで日本語表示できます。
しょぼいけれど、絵も出せます。小生の手の写真を加工して、128×32 のモノクロ・ビットマップデータを作りました。
オプション追加で 3.3V/5V 兼用化すれば、Arduino Due でも使えます。
・ご購入方法
本製品は、以下のサイトで取り扱って頂いております。
(株)スイッチサイエンス様
・注意事項
本製品は、基本的には、電源を OFF にした状態で DIP SW の切り替えを行ってください。通電中に DIP SW を切り替えますと、もしかすると IC 等が静電破壊される恐れがあります。
電源を OFF にした状態でも、DIP SW を切り替える時は、静電気を逃がしてから行ってください。
また、本製品は端子等が露出しており、ショートなどで容易に故障しやすくなっておりますので、取り扱いには十分に注意してください。
鋭利な部分も多数有りますので、怪我等に十分に注意してください。
・免責事項
本製品は人命等に関わる装置への利用につきまして、考慮されておりません。
また、本製品を使用した事によって発生しました如何なる事象につきまして、弊社は責任を負いかねますので御了承下さい。
・仕様
寸法 | 幅約53.3mm×長さ約72mm | ※いわゆる "C基板" (47×72) の幅を、若干延ばした寸法 |
高さ | 約28mm | ※ジャンパーピン頭から Arduino 用ピン先まで(ジャンパーピンをつまみ無しタイプに交換すれば、もうちょっと低くなります) |
固定穴 | φ3.2×4ヶ | ※穴位置は "C基板" 互換なので、スタックできます |
Arduino UNO R3 ピン互換シールド ※Arduino Mega2560 R3 以前の Mega シリーズで動作させるには、TWI 接続に何らかの工夫が必要と思われます。
駆動電圧 : | 直流 +5V | ※ Arduino UNO R3, Arduino Leonardo, Uno1284P 基板 で動作確認済み |
直流 +3.3V | ※ Arduino Due のみ動作確認済み。(ただし、別途 +5V も必要。) |
接続方式 | TWI (I2C) 方式 | ※ジャンパーにて、アナログピン A4〜A5 ピンを使用して接続する方法と、UNO/Mega2560 R3 より増設された SCL/SDA ピンを使用して接続する方法の、どちらかを選択できます |
※ジャンパーにて、TWI 用の pullup 抵抗を ON/OFF する事が可能です。 |
TWI アドレス | 7bit表記: 0x38 〜 0x3B 8bit表記: 0x70+R/W 〜 0x76+R/W | ※ DIP SW にて4つの中から選択可能 |
LCD 表示領域 | 幅47.32mm×高さ12.12mm | |
LCD 表示文字数 | 全角8文字(半角16文字)×2行 | ※なお、全角文字は偶数桁(つまり、0,2,4,6,8,10,12,14 桁目)にのみ表示可能です。半角文字は偶数桁・奇数桁に関係なく表示できます |
LCD 表示グラフィック画素数 | 横128画素×縦32画素 | ※白黒2色のみ |
LCD バックライト | 常時点灯、もしくは、ソフトウェア制御 | ※ DIP SW より、常時点灯と、ソフトウェア点灯/消灯機能のどちらかが選べます。なお、点灯させると、バックライトだけで最大 120mA 消費するようになります |
グラフィック表示機能:低速・低機能な簡易グラフィック表示機能もあります。
サポートしているコマンド:pset, line, rect, bitmap, flip
line 表示の例
グラフィックと文字は同時表示は出来ますが、重ねる事はできません。なので、例えば、画面の左半分を文字領域、右半分をグラフィック領域、という風に分割させて表示させる様にします。
回路図:
<動作確認>
以下の時での動作を確認しています。
・Arduino UNO R3 (Atmel ATmega328P:CLK=16MHz)
・Arduino Leonardo (Atmel ATmega32U4:CLK=16MHz)
・Uno1284P 基板 (Atmel ATmega1284P:CLK=16MHz)
・Vio = 5V, Vdd = 5V
・Arduino IDE 1.0.5
・Windows 7 Home Premium SP1 (64 bit)
・Arduino Due (Atmel SAM3X8E:CLK=84MHz)
・Vio = 3.3V, Vdd = 5V
・Arduino IDE 1.5.7 beta
・Windows 7 Home Premium SP1 (64 bit)
・表示できる文字
「漢字 LCD シールド」がサポートする文字集合 ※ 以下「漢字 LCD シールド用文字集合」と呼称します
半角文字 | ASCII | 94字 | 計157字 |
JIS X 0201:1976 片仮名 (いわゆる半角カナ) | 63字 |
全角文字 一覧表 | JIS X 0208:1997 非漢字 | 524字 | 計3737字 |
JIS X 0208:1997 第一水準漢字 | 2965字 |
NEC 特殊文字 (※これもJIS X 0213 の一部ですが) | 73字 |
JIS X 0213:2000 非漢字 (極一部のみ) | 175字 |
※ 0x21〜0x7E 部分は「JIS X 0201 ローマ字」ではなく「ASCII」文字集合です。ゆえに 0x5C は逆スラッシュ記号です。円記号(\)ではありません。円記号を使いたい時は全角の円記号(¥)を使用してください。
※ JIS X 0208:1997 第二水準漢字は非サポートです。よって「漢字 LCD シールド用文字集合」は JIS X 0208 準拠ですらありません。また、1981年版の常用漢字表には対応していますが、2010年版の改定常用漢字表には(第一水準外の漢字が有る為)対応していません。
※ JIS X 0213:2000 は全 4344字の内の、利用度が高そうな記号系 248字のみのサポートです。事実上、規格をサポートしていない事と同じです。おまけと思ってください。
※ そのおまけに含まれる拡張カタカナは全てサポートしていますので、アイヌ語カタカナが表示できます。一方、拡張ひらがなは非サポートです。
「漢字 LCD シールド」がサポートする符号化方式
Unicode 系 | UTF-8 方式 |
UTF-16 方式 (BOM 自動判別) |
UTF-16 方式 (Big Endian 固定) |
UTF-16 方式 (Little Endian 固定) |
JIS 系 | シフトJIS 方式 |
EUC-JP 方式 |
※ あくまで符号化方式です。Unicode 系を選んだからといって、Unicode にある文字が全部使えるようになる訳ではありません。
※ Unicode の文字合成にちょこっとだけ対応しています。半濁点付き拡張カタカナが、きちんと表示できます。半濁点付き拡張カタカナ以外の文字合成には対応していません。
・組立て方法
「漢字/カナ LCD シールド 3.3V/5V 兼用化オプション」の有り無しで、組み立て方法が変わってきます。以下のどちらかを選んでください。
・使用方法
DIP SW ですが、以下の写真の様に、左側の SW から1〜3の番号が刻印されています。
以下の様に機能が割り振られています。
DIP SW の設定 | SW1 | SW2 | SW3 | コメント |
TWI アドレス = 0x38 | OFF | OFF | --- | 電源 ON 直後に SW のチェックをして、TWI アドレスを決定します。決定後は SW1〜2 を変更しても、Reset されるまで TWI アドレスは変わりません。 |
TWI アドレス = 0x39 | OFF | O N | --- |
TWI アドレス = 0x3A | O N | OFF | --- |
TWI アドレス = 0x3B | O N | O N | --- |
LCD の Backlight = ソフト制御 | --- | --- | OFF | backlight/noBacklight 関数でソフト的に ON/OFF する。電源 ON 直後はソフト OFF されている。 |
LCD の Backlight = 強制 ON | --- | --- | O N | ソフト ON/OFF 状態に関係無く、Backlight が強制 ON される。(最大 120mA 消費する様になるので注意) |
L スイッチと R スイッチは、Arduino のスケッチで、getLeftSW 関数、getRightSW 関数を呼び出すと、押されているか離されているかが検出できます。
漢字 LCD シールドは、チャタリング対策の為、スイッチの状態を約10ミリ秒間隔でスキャンしていますので、これよりも短い時間で L/R スイッチの状態を検出させる事はできません。
VR101 は、Backlight の輝度調整用です。一方、VR103 は LCD 画面のコントラスト調整用です。双方とも、小型のプラスドライバ等で、ちょうど良いポジションに調整してください。
Reset 回路:
標準構成(5V Arduino 専用)の場合、SJ3 がショートされている為、Arduino 本体のリセットと同時に、漢字 LCD シールドもリセットされます。
一方、拡張構成(3.3V/5V 兼用)の場合、SJ3 がオープンなので、Arduino 本体がリセットされても、漢字 LCD シールドはリセットされませんので、注意してください。
これは、漢字 LCD シールドのリセット回路は常に 5V 系なのに対して、Arduino 本体のリセット回路が 3.3V 系なのか 5V 系なのか分からない為です(3.3V 系だった場合、5V 系とショートして、何かが壊れます)。
間にトランジスタを噛ませば良いのですが、基板スペースの関係で断念しました。(後で、表面実装用のトランジスタでも良いから入れておけばよかったかな、とも考えましたが、それでもスペース的にきびしいかも。)
なお、基板上に "Rst5" というシルクのピン(注意:5V系です)がありますが、これを GND に落とせば、SJ3 がオープンの場合、漢字 LCD シールドだけがリセットされます。(Arduino 本体はリセットされません)
・ソフトウェア
Arduino 用ライブラリを用意しています。
以下の圧縮ファイルをダウンロードし、arduino フォルダーの中の libraries フォルダーの中に解凍するだけで OK です。(注意:カナ LCD シールド用ライブラリも同梱されています。)
BS21Lab-ArduinoLib-KanjiLCD-v1.10_and_KanaLCD-v1.01.zip 2014年8月1日版
※ Arduino IDE 1.0.5 と Arduino IDE 1.5.7β で動作確認しています。
アンインストールも、BS21LabLib, KanaLCD, KanjiLCD フォルダーごと削除するだけで OK です。
ライブラリの使い方ですが、巨大なので、別ページにしました。「漢字 LCD ライブラリ」の解説 をクリックしてください。
【御注意】
Windows 用の Arduino IDE でしか動作確認していません。もしかすると、Mac 用や Linux 用の Arduino IDE では、問題が発生するかもしれません。その際は、御連絡下さい。可能な限り対応してみます。(頑張ったが無理だった、という結果になる可能性もあります…)
製品リストに戻る
Copyright (C) 2014 BS21 Lab, All rights reserved.