// LCD custom characters
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <SPI.h>
LiquidCrystal_I2C lcd (0x27, 16, 2);
byte c0[8] = {B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111};
byte c1[8] = {B11111, B11110, B11110, B11110, B11110, B11110, B11110, B11111};
byte c2[8] = {B11111, B11100, B11100, B11100, B11100, B11100, B11100, B11111};
byte c3[8] = {B11111, B11000, B11000, B11000, B11000, B11000, B11000, B11111};
byte c4[8] = {B11111, B10000, B10000, B10000, B10000, B10000, B10000, B11111};
byte c5[8] = {B11111, B00000, B00000, B00000, B00000, B00000, B00000, B11111};
byte c6[8] = {B11111, B00001, B00001, B00001, B00001, B00001, B00001, B11111};
byte c7[8] = {B00000, B10001, B01010, B00100, B00100, B01010, B10001, B00000};
void setup()
{
lcd.init (); // I2C library does not use .display or .begin or .clear
lcd.backlight();
// custom characters in CG-RAM
lcd.createChar(0, c0);
lcd.createChar(1, c1);
lcd.createChar(2, c2);
lcd.createChar(3, c3);
lcd.createChar(4, c4);
lcd.createChar(5, c5);
lcd.createChar(6, c6);
lcd.createChar(7, c7);
// lcd.createChar(8, c8);
for (int i = 0; i < 8; i++)
{
lcd.setCursor(i + 4, 0);
lcd.write(i);
}
}
void loop()
{}