BS21 Lab の製品 - RaspberryPi 用 漢字 LCD シールド(製品番号:BS21LAB-011)

19/dec/2013 新規
26/dec/2013 更新

RaspberryPi 用 漢字 LCD シールド(拡張ボード)です。
I2C (TWI) 方式専用ですので、貴重な GPIO ピンを消費しなくて済みます。
全角8文字×2行で、日本語を表示する事ができます。128×32 画素のグラフィックも表示できます。
また、おまけ機能として、+5V 汎用出力4点(内3点は PWM 出力も可能)も付いています。

  1. 概要
  2. ギャラリー
  3. ご購入方法
  4. 注意事項
  5. 免責事項
  6. 仕様
  7. 表示できる文字
  8. 組立て方法
  9. 使用方法
  10. 汎用出力
  11. ソフトウェア

・概要

従来のキャラ LCD で使用できた半角 157 字に加えて、JIS 漢字規格の第一水準+α全角 3737 字 (一覧表) が使用できます。
第二水準漢字はサポートしていませんので、難しい漢字は表示できませんが、サブ画面的な使い方ならば十分でしょう。
符号化方式は UTF-8 のみになります。

また、128×32 画素のグラフィックも表示できます。ただし、遅いです。

おまけ機能として、+5V 仕様の汎用デジタル出力が4点、付いています。この内3点は 8 bit PWM 出力も可能です。

なお、「シールド」は Arduino 用語であり、RaspberryPi 的には「拡張ボード」が正しい用語なのですが、「拡張ボード」では語感的に今一なので、本製品では「シールド」という名称にしてます。

本製品は組み立て式キットとなっています。表面実装部品(SOタイプ 8ピン)が1つだけ有ります。他はスルーホール部品です。組み立て方は組立て方法を御覧下さい。


・ギャラリー

全体写真:クリックすると拡大します。RaspberryPi 本体、SD カードやケーブル等は付属していません。御覧の通り、RaspberryPi 本体よりも、一回り小さいです。
View

表示例:この様な使い方を想定しています。
Example1 Example2 Example2

しょぼいけれど、絵も出せます。小生の手の写真を加工して、128×32 のモノクロ・ビットマップデータを作りました。
ビットマップ表示


・ご購入方法

本製品は、以下のサイトで取り扱って頂いております。

(株)スイッチサイエンス様


・注意事項

本製品は、基本的には、電源を OFF にした状態で DIP SW の切り替えを行ってください。通電中に DIP SW を切り替えますと、もしかすると IC 等が静電破壊される恐れがあります。
電源を OFF にした状態でも、DIP SW を切り替える時は、静電気を逃がしてから行ってください。

また、本製品は端子等が露出しており、ショートなどで容易に故障しやすくなっておりますので、取り扱いには十分に注意してください。

鋭利な部分も多数有りますので、怪我等に十分に注意してください。


・免責事項

本製品は人命等に関わる装置への利用につきまして、考慮されておりません
また、本製品を使用した事によって発生しました如何なる事象につきまして、弊社は責任を負いかねますので御了承下さい。


・仕様

寸法幅約70.5mm×長さ約48.3mm
高さ約27mm※ LCD から RaspberryPi 用ピンソケット先まで
駆動電圧+5V(LCD 駆動用) 及び +3.3V(通信用)


接続方式I2C (TWI) 方式RaspberryPi 本体とは +3.3V で通信します
I2C アドレス7bit表記: 0x0C 〜 0x0F
8bit表記: 0x18+R/W 〜 0x1E+R/W
※ DIP SW にて4つの中から選択可能。
  ただし、いずれの選択でも連続4アドレスを占有します。
7bit表記: 0x1C 〜 0x1F
8bit表記: 0x38+R/W 〜 0x3E+R/W
7bit表記: 0x2C 〜 0x2F
8bit表記: 0x58+R/W 〜 0x5E+R/W
7bit表記: 0x3C 〜 0x3F
8bit表記: 0x78+R/W 〜 0x7E+R/W

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 表示の例
簡易グラフィック機能
グラフィックと文字は同時表示は出来ますが、重ねる事はできません。なので、例えば、画面の左半分を文字領域、右半分をグラフィック領域、という風に分割させて表示させる様にします。

昭和チックなロケット 昭和チックなロケットが画面を横切る動作例です。(動画ファイル(.mov 形式) 21秒, 12.4MB)


回路図:
見ての通り、RaspberryPi 本体と繋がっているのは、5本(+5V, +3.3V, GND, SCL3, SDA3)のみです。
KanjiLCD4RPi の回路図

※ ATmega328 内蔵 pullup を使用しているので、R4, R5 は不要です。
※ C11, C12 はチップコンデンサ用です。アキシャル型コンデンサ用の C1, C2 とは選択になります。
※ SJ1, SJ2 は現状、何にも使用していません。(空きピンを遊ばせておく位なら、何かに使えるかも、と思って追加したが、結局、使わなかった)


<動作確認>
以下の時での動作を確認しています。

・RaspberryPi Rev.2 model B
・Raspbian "wheezy":2013/9/25版:Kernel 3.6
・WiringPi v2 (point 03)


・表示できる文字

「漢字 LCD シールド」がサポートする文字集合 ※ 以下「漢字 LCD シールド用文字集合」と呼称します
半角文字ASCII94字計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 シールド」がサポートする符号化方式
・UTF-8 方式 のみ

※ あくまで符号化方式です。Unicode 系を選んだからといって、Unicode にある文字が全部使えるようになる訳ではありません。
※ Unicode の文字合成にちょこっとだけ対応しています。半濁点付き拡張カタカナが、きちんと表示できます。半濁点付き拡張カタカナ以外の文字合成には対応していません。
拡張カタカナ


・組立て方法

巨大なので、別ページにしました。「漢字 LCD シールド」の組立て方法 をクリックしてください。


・使用方法

DIP SW ですが、以下の写真の様に、左側の SW から1〜3の番号が刻印されています。
DIPSWの解説

以下の様に機能が割り振られています。
DIP SW の設定SW1SW2SW3コメント
I2C アドレス = 0x0C〜0x0FOFFOFF---それぞれ連続4アドレスを占有します。
また、電源 ON 直後に SW のチェックをして、I2C アドレスを決定します。決定後は SW1〜2 を変更しても、Reset もしくは電源再投入されるまで I2C アドレスは変わりません。
I2C アドレス = 0x1C〜0x1FOFFO N---
I2C アドレス = 0x2C〜0x2FO NOFF---
I2C アドレス = 0x3C〜0x3FO NO N---
LCD の Backlight = ソフト制御------OFFknjlcdBacklight 関数でソフト的に ON/OFF する。電源 ON 直後はソフト OFF されている。
LCD の Backlight = 強制 ON------O Nソフト ON/OFF 状態に関係無く、Backlight が強制 ON される。(最大 120mA 消費する様になるので注意)

VR101 は、Backlight の輝度調整用です。一方、VR103 は LCD 画面のコントラスト調整用です。双方とも、小型のプラスドライバ等で、ちょうど良いポジションに調整してください。


・汎用出力

おまけ機能として、汎用出力4点が付属しています(ATmega328 の空きピンを使用)。LCD 制御と同様に i2c 制御です。
4点の内、3点は PWM 出力が可能です(デジタル出力も可能です)。残り1点はデジタル出力のみ可です。

この PWM 出力は、ハード(ATmega328)で生成する本物のPWM です(ソフト的に作り出した擬似 PWM ではありません)。

ただし、デジタル出力も、PWM 出力も、共に +5V出力ですので、注意して下さい。(3.3Vではありません。)

名称デジタル出力PWM 出力コメント
PWM0ON/OFF 出力8 bit PWM 出力
PWM1ON/OFF 出力8 bit PWM 出力
OUT0ON/OFF 出力8 bit PWM 出力本当は "PWM2" という名称にするべきだったのですが、"OUT0" というシルクになっています。
OUT1ON/OFF 出力不可本当は "OUT3" という名称にするべきだったのですが、"OUT1" というシルクになっています

最初に、knjlcdPinMode 関数で、デジタル出力か、PWM 出力か、を選択する必要が有ります。これをしておかないと、意図した動作になりません。 knjlcdInit 直後は、4点とも、デジタル出力が選択されています。

PWM 値は 8 bit 長 で、0〜255 の範囲です。


動作確認ですが、LED 4個(緑色の拡散キャップが付いているヤツ)と、この様に接続します。
LED 接続
デジタル出力4点の動作確認例です。(動画ファイル(.mov 形式) 17秒, 10.2MB)
PWM 出力3点の動作確認例です。(動画ファイル(.mov 形式) 33秒, 19.0MB)


・ソフトウェア

巨大なので、別ページにしました。ソフトウエア をクリックしてください。


製品リストに戻る

Copyright (C) 2013 BS21 Lab, All rights reserved.