#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 in PCF8574 by NXP and Set to 0x3F in PCF8574A by Ti
LiquidCrystal_I2C lcd(0x27, 16, 2);
byte customChar0[] = {0x1F, 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18};
byte customChar1[] = {0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x11};
byte customChar2[] = {0x18, 0x1C, 0x0E, 0x07, 0x03, 0x03, 0x03, 0x03};
byte customChar3[] = {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x1F};
byte customChar4[] = {0x11, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F};
byte customChar5[] = {0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1F, 0x1F};
void setup() {
lcd.init();
lcd.backlight();
lcd.createChar(0, customChar0);
lcd.createChar(1, customChar1);
lcd.createChar(2, customChar2);
lcd.createChar(3, customChar3);
lcd.createChar(4, customChar4);
lcd.createChar(5, customChar5);
lcd.home();
lcd.write(0);
lcd.write(1);
lcd.write(2);
lcd.setCursor(0, 1);
lcd.write(3);
lcd.write(4);
lcd.write(5);
}
void loop() {
lcd.setCursor(3, 0);
lcd.print("CPU");
lcd.setCursor(7, 1);
lcd.print("48");
lcd.write((char)223);
lcd.print("C");
lcd.setCursor(12, 1);
lcd.print("100%");
lcd.setCursor(7, 0);
lcd.print("3500 MHz");
}