Arduinoでの工作に1602や2004等のキャラクタディスプレイを使用する事が多々ある。
カタカナも表示できるが、8文字まで独自デザインの文字を登録し表示させる事も出来る。アンテナマークや絵文字等、少しだけ工夫の幅が広がる。
カスタム文字は5×8ドットのデータを8バイトのデータとして登録し、write(#)で表示するだけである。
下記サイトを利用するとデザインしながらスケッチも作成できる。
https://maxpromer.github.io/LCD-Character-Creator/
以下は♪とチェックマークの記号を登録して表示する例。登録はcreateChar(#,データ)で、表示はwrite(#)である。
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(39, 20, 4);
byte musictone[8] = { //♪記号
B01100,
B01010,
B01001,
B01001,
B01010,
B11000,
B11000,
};
byte checkmark[8] = { //チェックマーク
B00001,
B00001,
B00010,
B00010,
B10100,
B11100,
B01000,
B00000
};
void setup() {
lcd.init();
lcd.backlight();
lcd.createChar(0, musictone);
lcd.createChar(1, checkmark);
lcd.setCursor(0,0);
lcd.print("Hello World");
lcd.write(0);
lcd.setCursor(0,1);
lcd.write(1);
lcd.print("check");
}
void loop() {
}