NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(lcd.createChar関数の使い方)

lcd.createChar関数
 lcd.createChar関数は、LCDで使用するためのカスタム文字(gylph)を作成します。
 最大8文字の5×8ピクセルがサポートされています(0〜7の番号が付いています)。
 各カスタム文字の外観は、各行に1つずつ、8バイトの配列で指定されます。
 各バイトの5つの最下位ビットは、その行のピクセルを決定します。
 カスタム文字を画面に表示するには、その番号を書き込みます。

※カスタム文字 "0"を参照するとき、変数にない場合はバイトとしてキャストする必要があります。そうしないと、コンパイラはエラーを返します。

■使用例
 Arduino IDEで使用するlcd.createChar関数の使い方は以下の通りです。
  試しに図1の様にHD44780系LCDArduino UNOを接続し下記プログラムを実行すると、LiquidCrystal関数で任意のLCDインタフェースピンを関連付けることにより、ライブラリを初期化します。
 次にlcd.createChar関数で0番地のキャラクターに自作のスマイルマークを登録し、lcd.begin関数でLCDの列と行の数を設定し、lcd.write関数で「☺」文字をLCDに表示します。

イメージ 1
図1:LCD(Hitachi HD44780互換)Arduino UNOの接続例
 
表1:ArduinoUNOへのLCD接続方法
LCD(HD44780系) Arduino UNO
VSS(1ピン) GND
VDD(2ピン) 5V
V0(3ピン) 10kΩ可変抵抗のワイパ‐端子(5V-GND)
RS(4ピン) D12
R/W(5ピン) GND
Enable(6ピン) D11
DB0(7ピン) open
DB1(8ピン) open
DB2(9ピン) open
DB3(10ピン) open
DB4(11ピン) D5
DB5(12ピン) D4
DB6(13ピン) D3
DB7(14ピン) D2
LED+(15ピン) 220Ωを介した5V
LED-(16ピン) GND
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte smiley[8] = {
   B00000,
   B10001,
   B00000,
   B00000,
   B10001,
   B01110,
   B00000,
};

void setup() {
   lcd.createChar(0, smiley);
   lcd.begin(16, 2);
   lcd.write(byte(0));
}

void loop() {}
イメージ 1
図1:プログラム例

■構文
 lcd.createChar(num、data)

■パラメータ
 lcd:LiquidCrystal型の変数
 num:作成する文字(0〜7)
 data:キャラクタのピクセルデータ

■戻り値
 特に有りません。

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る