19/aug/2013 新規
13/feb/2014 更新
65536色のカラー LCD (1.8インチ、160×128画素) に、全角10文字×6行で、日本語を表示する事ができます。
JPG/PNG/GIF/BMP 画像も(制限付きながら)表示できます。
TWI (I2C) 方式専用です。
従来のキャラ LCD で使用できた半角 157 字に加えて、JIS 拡張漢字(JIS X 0213:2004)規格の第一水準〜第三水準の全角 8797 字 +α(47 字)(一覧表) が使用できます。
残念ながら、第四水準漢字はサポートしていませんので、JIS X 0213:2004 完全準拠ではありませんが、2010年版の改定常用漢字表は網羅していますので、Arduino で使うならば十分でしょう。
符号化方式は UTF-8 が選べますので、Arduino のスケッチにそのまま日本語を入力してコンパイルするだけで OK です。(Unicode 追加漢字面に配置された 26文字だけは、特殊な記述をする必要あり)
可読性が高い事で評判の「M+ フォント」を使用しています(不足部分は IPA フォントで補充)ので、携帯電話並みの綺麗な字を表示できます。
また、プログラムメモリ、もしくは SD カードから、JPG/PNG/GIF/BMP 画像を転送する事で、これらを表示する事ができます。
さらに、文字を前景面に、画像を背景面に表示する事で、2画面の重ね合わせも可能です。
※但し、本シールドには SD カード読み取り機能はありませんので、別途、Ether シールド等の SD カード読み取り機能の持ったシールドが必要になります
(当然ながら、プログラムメモリだけで画像データが格納しきれる場合は、Ether シールド等は必要有りません)。
※ カラー LCD ですが、残念ながらタッチパネルではありません。その代わりに、タクトSW が4つ付いています。
本製品は完成品となっています。別途、組み立て式の「カラー漢字 LCD シールド(キット版)」もございます。
(なお、完成品の組み立ては手作業にて行っておりますので、部品の半田付けの品質にバラツキがあります。御了承ください。)
2014/2/13 追記:本シールドのファームウェア v1.01 以降では、EXT2 のA31 ピンを GND に直結させておくと、電源投入直後に表示されるスプラッシュ画面で、
虹色のストライプ背景が非表示となり、文字だけの表示になります。虹色のストライプ背景がうざったいと感じられる場合は、このようにしてください。
なお、begin 関数呼出し後の動作は、これまで通りです。あくまで A31 ピンの設定は、スプラッシュ画面限定です。
本製品は、以下のサイトで取り扱って頂いております。
(株)スイッチサイエンス様
本製品は、基本的には、電源を OFF にした状態で DIP SW, スライド SW の切り替えを行ってください。通電中に SW を切り替えますと、もしかすると IC 等が静電破壊される恐れがあります。
電源を OFF にした状態でも、DIP SW, スライド SW を切り替える時は、静電気を逃がしてから行ってください。
また、本製品は端子等が露出しており、ショートなどで容易に故障しやすくなっておりますので、取り扱いには十分に注意してください。
鋭利な部分も多数有りますので、怪我等に十分に注意してください。
本製品は人命等に関わる装置への利用につきまして、考慮されておりません。
また、本製品を使用した事によって発生しました如何なる事象につきまして、弊社は責任を負いかねますので御了承下さい。
寸法 | : | 幅約59.7mm×長さ約71.1mm | ※ いわゆる "C基板" (47×72) の幅を、若干延ばした寸法 | |
高さ | : | 約20mm | ※ ピンソケットから Arduino 用ピン先まで | |
固定穴 | : | φ3.2×4ヶ | ※ 穴位置は "C基板" 互換なので、スタックできます |
駆動電圧 | : | +5V 必須 | ※ 内部で +3.0V に変換しています。 | |
接続方式 | : | TWI (I2C) 方式 | ※ スライドSW にて、従来のアナログピン A4〜A5 ピンを使用して接続する方法と、 UNO/Mega2560 R3 より増設された SCL/SDA ピンを使用して接続する方法の、どちらかを選択できます | |
TWI アドレス | : | 7bit表記: 0x3C 〜 0x3F 8bit表記: 0x78+R/W 〜 0x7E+R/W | ※ DIP SW にて4つの中から選択可能 | |
TWI 通信速度 | : | 100 kHz 及び 400 kHz対応 | ※ Arduino 側の対応も必要になります。 | |
TWI 通信の駆動電圧 (Vio) | : | +3.3V もしくは +5V | ※ "Vio selector" で切り替え (後述) | |
LCD 表示領域 | : | 幅35.04mm×高さ28.03mm | 対角 1.8 inch | |
LCD 表示文字数 | : | 全角10文字(半角20文字)×6行 | ※ std フォントサイズの場合 | |
LCD 表示グラフィック画素数 | : | 横160画素×縦128画素 | ||
LCD 表示色数 | : | 65536 色 | ※ RGB565 フォーマット | |
LCD バックライト | : | 常時点灯 |
Vio 電圧 | ジャンパーピンの位置 | コメント | 例 | |
@ | +5V 決め打ち | 左端のVio−5V | TWI 通信を 5V で行う必要があるタイプ | Arduino Duemilanove, Arduino Uno(初代,R2,R3), AE-ATmega 等 |
A | +3.3V 決め打ち | 3V3−4番目のVio | TWI 通信を 3.3V で行う必要があるタイプ | Arduino Pro(3.3V仕様), Arduino Due |
B | IOREF に依存 | 4番目のVio−IOR | IOREF ピンの電圧値(3.3V or 5V のどちらか)を参照すれば良いタイプ ※通常はこの設定を選んでおくのが無難です | Arduino Uno R3, Leonardo や Due 等の IOREF ピンが存在するタイプ |
DIP SW の設定 | SW1 | SW2 | コメント |
TWI アドレス = 0x3C | OFF | OFF | サンプルスケッチのデフォルトアドレス |
TWI アドレス = 0x3D | OFF | O N | --- |
TWI アドレス = 0x3E | O N | OFF | --- |
TWI アドレス = 0x3F | O N | O N | --- |
記号 | 名称 | 左側 | 右側 | コメント |
SS1 | TWI Vio Pullup | "0" Pullup無し | "Up" Pullup有り | TWI 通信の Vio 側の Pullup 抵抗(3.3kΩ)を有効/無効にする |
SS2 | TWI PinSel | "R3" Uno R3 拡張ピンを使用 | "Old" A4/A5ピンを使用 | Arduino Uno R3 以降は "R3" を、それ以前は "Old" を選択 |
SS3 | TWI Vcc Pullup | "0" Pullup無し | "Up" Pullup有り | TWI 通信の Vcc 側の Pullup 抵抗(3.3kΩ)を有効/無効にする ※通常は有効("Up")にしておく |
名称 | 動作条件 | コメント |
cklcd_anime_gif_from_sd_demo1_sketch | SD 必須 | アニメーション gif 画像を SD から読み出して、表示します:右タクトSW を押している間は一時停止 |
cklcd_arduino_logo_demo1_sketch | Arduino のロゴマークの表示:∞に - と + を重ね書きする。ただそれだけ。 | |
cklcd_demo1_sketch | 文字ばっかりのデモ | |
cklcd_draw_demo1_sketch | 描画関数のデモ:line, rect, rectFill, circle, circleFill, pset | |
cklcd_draw_demo1p_sketch | cklcd_draw_demo1_sketch のポートレート版 | |
cklcd_euc_jp_demo1_sketch | EUC-JIS-2004 コード表を表示 | |
cklcd_font_demo1_sketch | 各フォントタイプとフォント属性のデモ | |
cklcd_janken_demo1_sketch | ジャンケンします:状態遷移の例 | |
cklcd_load_monalisa_and_frame_demo1_sketch | モナ・リザを表示(半透明の額縁付き):上タクトSW を押すと額縁を ON/OFF できます | |
cklcd_load_monalisa_and_object_demo1_sketch | Leonardo 不可 | モナ・リザを表示(pngファイル形式のオブジェ付き) ※残念ながら Leonardo ではフラッシュの容量が不足するので、動作させられません。Uno ならギリギリ OK。 |
cklcd_load_monalisa_demo1_sketch | モナ・リザを表示:縦スクロール | |
cklcd_mini_sketch | 最小のスケッチ例 | |
cklcd_print_effect_demo1_sketch | 各種文字効果のデモ表示#1 | |
cklcd_print_effect_demo1p_sketch | cklcd_print_effect_demo1_sketch のポートレート版 | |
cklcd_print_effect_demo2_sketch | 各種文字効果のデモ表示#2:緑一色 | |
cklcd_print_effect_demo2p_sketch | cklcd_print_effect_demo2_sketch のポートレート版 | |
cklcd_ramen_timer_demo1_sketch | ラーメン・タイマー:巨大7セグを表示 | |
cklcd_ramen_timer_test1_sketch | ラーメン・タイマー(試作版):demo1 と同じ動作ですが、画像が手抜き版です。ただし、画像の構成はこちらの方が分かりやすいので、あえて残してあります。7セグ以外の字体に改造したい場合、こちらを改造した方がやりやすいと思います。 | |
cklcd_rot_sphere_gif_demo1_sketch | Leonardo 不可 | 回転する球体(アニメ gif 画像)のデモ:右タクトSW を押している間は一時停止 ※残念ながら Leonardo ではフラッシュの容量が不足するので、動作させられません。Uno ならギリギリ OK。 |
cklcd_rot_sphere_gif_from_sd_demo1_sketch | SD 必須 | cklcd_rot_sphere_gif_demo1_sketch の SD 対応版 ※SD 無し版が Leonardo で動かせられなかったので急遽追加 |
cklcd_rotation_demo1_sketch | 文字列の回転:もっとジャギジャギの画像になるかと思ってたが、結構見れる状態 | |
cklcd_rotation_demo2_sketch | 文字列の回転+背景画の縦スクロール | |
cklcd_rotation_monalisa_demo1_sketch | モナ・リザを回転&拡大/縮小 | |
cklcd_set_pixel_test1_sketch | setPixel のデモ | |
cklcd_set_pixel_test1p_sketch | cklcd_set_pixel_test1_sketch のポートレート版 | |
cklcd_sine_wave_demo1_sketch | サイン波のデモ | |
cklcd_sip_char_test_sketch | Unicode の追加漢字面(SIP)に割り振られている 26文字を表示 (この26文字だけは直接タイプできないので、バイト列で記述してあります) |
名称 | 記号 | ランドスケープモード時 | ポートレートモード時 | 容量 |
仮想画面#1 | v1 | 幅160画素×高さ256画素 | 幅256画素×高さ160画素 | 80kB |
仮想画面#2 | v2 | 幅160画素×高さ128画素 | 幅128画素×高さ160画素 | 40kB |
名称 | 前景面 (ARGB4444) | 背景面 (RGB565) | コメント |
CKLCD_DISP_SCREEN_NONE | 無し | 無し | 仮想画面の内容に関わらず、真っ黒な画面が表示されます |
CKLCD_DISP_SCREEN_B1 | 無し | 仮想画面#1 | flip 処理が高速です |
CKLCD_DISP_SCREEN_B2 | 無し | 仮想画面#2 | |
CKLCD_DISP_SCREEN_F1 | 仮想画面#1 | 無し | 前景面と背景面(真っ黒)を合成させます |
CKLCD_DISP_SCREEN_F2 | 仮想画面#2 | 無し | |
CKLCD_DISP_SCREEN_F1_B2 | 仮想画面#1 | 仮想画面#2 | flip 処理に時間が掛かります |
CKLCD_DISP_SCREEN_F2_B1 | 仮想画面#2 | 仮想画面#1 |
名称 | bitサイズ | bitの構成 | 使用できる仮想画面 | コメント |
ARGB4444 | 16bit長 | アルファ値4bit, R:4bit, G:4bit, B:4bit | 前景面 | アルファ値が有るので、透明や半透明が扱える。 |
RGB565 | 16bit長 | アルファ値無し, R:5bit, G:6bit, B:5bit | 背景面 | アルファ値が無いので、常に不透明の扱いになる。 |
名称 | bitサイズ | bitの構成 | コメント |
ARGB8888 | 32bit長 | アルファ値8bit, R:8bit, G:8bit, B:8bit | 前景面では ARGB4444 に自動変換。 |
背景面では RGB565 に自動変換。 |
半角文字 | ASCII | 94字 | 計157字 | ※ 0x5C は逆スラッシュ記号 |
JIS X 0201:1976 片仮名 (いわゆる半角カナ) | 63字 | |||
全角文字 一覧表 | JIS X 0213:2004 第一水準 非漢字 | 524字 | 計8844字 | |
JIS X 0213:2004 第一水準 漢字 | 2965字 | ※ 一部の字体は JIS X 0208:1997 から変更されています(例:'葛') | ||
JIS X 0213:2004 第二水準 漢字 | 3390字 | ※ 一部の字体は JIS X 0208:1997 から変更されています(例:'疼') | ||
JIS X 0213:2004 第三水準 非漢字 | 659字 | |||
JIS X 0213:2004 第三水準 漢字 | 1259字 | ※ 2004年改定で追加された 10字を含みます | ||
追加の記号系 (JIS X 0213:2004 の範囲外) | 47字 | ※ 上付き文字, 下付き文字 等 |
Unicode 系 | UTF-8 方式 |
UTF-16 方式 (BOM 自動判別) | |
UTF-16 方式 (Big Endian 固定) | |
UTF-16 方式 (Little Endian 固定) | |
JIS 系 | シフトJIS 方式 |
EUC-JP 方式 |
・基本を | M+ OUTLINE FONTS Testflight 056 | とし、 | ||
・不足分は | IPA フォント ver.003.03 | で補充しています。 |
名称 | 最大寸法 | 表示できる文字符号 | フォントタイプ名 | |
幅×高さ | モノスペース (固定幅) | プロポーショナル (可変幅) | ||
ruby | 8px×10px | ASCII, ISO8859-1, JIS X 0213:2004 のひらがなとカタカナ, 記号系が少々 | CKLCD_FONT_TYPE_RUBY_MS | CKLCD_FONT_TYPE_RUBY_P |
12px | 12px×15px | ASCII, ISO8859-1, JIS X 0201:1976 片仮名 (いわゆる半角カナ), JIS X 0213:2004 のひらがなとカタカナ, 記号系が少々 | CKLCD_FONT_TYPE_12px_MS | CKLCD_FONT_TYPE_12px_P |
std | 16px×20px | ASCII, ISO8859-1, JIS X 0201:1976 片仮名 (いわゆる半角カナ), JIS X 0213:2004 の第1〜3水準 | CKLCD_FONT_TYPE_MONOSPACED | CKLCD_FONT_TYPE_PROPORTIONAL |
20px | 20px×25px | ASCII, ISO8859-1, JIS X 0201:1976 片仮名 (いわゆる半角カナ), 記号系が少々 | CKLCD_FONT_TYPE_20px_MS | CKLCD_FONT_TYPE_20px_P |
24px | 24px×30px | ASCII, ISO8859-1, JIS X 0201:1976 片仮名 (いわゆる半角カナ), 記号系が少々 | CKLCD_FONT_TYPE_24px_MS | CKLCD_FONT_TYPE_24px_P |
28px | 28px×35px | ASCII, ISO8859-1, JIS X 0201:1976 片仮名 (いわゆる半角カナ), 記号系が少々 | CKLCD_FONT_TYPE_28px_MS | CKLCD_FONT_TYPE_28px_P |
※ モノスペース (固定幅) | : | 全角文字は同じ幅になるので setCursor 関数で指定しやすくなります。その代わり、文字の間隔があいてしまうので、欧文などの表示が美しくありません。 |
※ プロポーショナル (可変幅) | : | 漢字以外の文字が可変幅になり、読みやすくなります。その代わり、setCursor 関数で指定しづらくなってしまいます。setCursorMin 関数を使用するようにして下さい。 |
サービス内容 | : | フラッシュメモリの書き換えによる「カラー漢字 LCD シールド・フォント」からオリジナル「IPA フォント」への変更 | |
費用 | : | ¥525+送料 ※送料は地域により変わります(埼玉県からの発送)。 | |
連絡方法 | : | info@bs21−lab.com (スパム対策で全角文字にしてます) までメール下さい。 | |
注意事項 | : | 現時点では、オリジナル IPA フォントにすると、アンチエイリアスが効いていないジャギーの有る字体になってしまいます。(詳しく原因究明していません) |
名称 | コメント |
pset | 点を描く |
line | 線を描く |
rect | 矩形を描く。枠のみ。 |
rectFill | 矩形を描く。中は塗りつぶす。 |
circle | 円を描く。円周線のみ。 |
circleFill | 円を描く。中は塗りつぶす。 |
dilate | 3x3 の膨張処理。※ かなりインチキくさい処理 |
erode | 3x3 の収縮処理。※ かなりインチキくさい処理 |
blur | 3x3 のガウシアンフィルター処理 |
setSrcRect | コピー元の矩形領域を指定 |
copy | setSrcRect で指定されている矩形領域を、別の矩形領域にコピーする。 |
flip | 仮想画面メモリから、LCD モジュール内の表示メモリへ転送する |
@ダメな手順 | : | 先に、仮想画面#1 に JPG 画像を展開 | ⇒ | 続いて、仮想画面#2 に PNG 画像を展開 | ⇒ | 仮想画面#1 の JPG 画像が破壊されてしまう | |
A良い手順 | : | 先に、仮想画面#2 に PNG 画像を展開 | ⇒ | 続いて、仮想画面#1 に JPG 画像を展開 | ⇒ | 仮想画面#1、仮想画面#2 ともに OK |
名称 | 電圧値 | コメント |
5V | 常に +5V | 本シールドの外部から供給する。レギュレータ TA48M03F と LCD の backlight の駆動電圧 |
Vcc | 常に +3.0V | 本シールド内部で生成。コントローラ SAM4S や LCD 制御部の駆動電圧 |
Vio | +3.3V か +5V のどちらか | ホスト側の TWI 通信の駆動電圧 |