// LCD1602 自定义字符示例
// 引入LiquidCrystal库,用于控制LCD1602显示屏
#include <LiquidCrystal.h>
// 初始化LiquidCrystal对象,指定连接LCD的引脚
// RS -> 12, E -> 11, D4 -> 10, D5 -> 9, D6 -> 8, D7 -> 7
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
// 定义一个8字节的数组,用于表示一个自定义的心形字符
// 每个字节代表心形字符的一行,二进制表示法,从最高位到最低位对应像素的开关
uint8_t heart[8] = {
0b00000, // 第一行:全部关闭(空白)
0b01010, // 第二行:两边开启,中间关闭
0b11111, // 第三行:全部开启
0b11111, // 第四行:全部开启
0b11111, // 第五行:全部开启
0b01110, // 第六行:两边开启,中间一个关闭
0b00100, // 第七行:中间一个开启,两边关闭
0b00000 // 第八行:全部关闭(空白)
};
void setup() {
// 创建一个自定义字符,编号为3,使用前面定义的心形字符数组
lcd.createChar(3, heart);
// 初始化LCD显示屏,设置列数为16,行数为2
lcd.begin(16, 2);
// 在LCD上显示文本,其中\x03表示自定义字符的编号3(心形字符)
// 注意:这里假设字符编码从0开始,且3是自定义字符的第一个
lcd.print(" I \x03 CSLG");
}
void loop() {
// 空循环,什么也不做
// 在这个示例中,我们只需要在setup()中初始化并显示一次字符即可
}