发现 createChar 后直接 write 不能直接显示
// 自定义字符, 指定哪个像素亮,哪个灭
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000};
byte smiley[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b10001,
0b01110,
0b00000};
byte frownie[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b00000,
0b01110,
0b10001};
byte armsDown[8] = {
0b00100,
0b01010,
0b00100,
0b00100,
0b01110,
0b10101,
0b00100,
0b01010};
byte armsUp[8] = {
0b00100,
0b01010,
0b00100,
0b10101,
0b01110,
0b00100,
0b00100,
0b01010};
byte temperturechar[8] = {
0b10000,
0b00110,
0b01001,
0b01000,
0b01000,
0b01001,
0b00110,
0b00000,
};
byte *chars[] = {heart, smiley, frownie, armsDown, armsUp, temperturechar};
// 初始化 lcd
void initLcd()
{
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.clear();
auto len = sizeof(chars) / sizeof(byte *);
for (size_t idx = 0; idx < len; idx++)
{
byte *point = (chars[idx]);
lcd.createChar(idx, point);
}
}
// 输出
void testLed()
{
lcd.home();
auto len = sizeof(chars) / sizeof(byte *);
for (size_t idx = 0; idx < len; idx++)
{
lcd.write(idx);
}
}