#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
char s;
byte smiley[8] = {
B00000,
B10001,
B00000,
B00000,
B10001,
B01110,
B00000,
};
byte rails[8] = {
B10001,
B10001,
B10001,
B10001,
B10001,
B10001,
B10001,
};
byte unhappy[8] = {
B00000,
B10001,
B00000,
B00000,
B01110,
B10001,
B00000,
};
byte leftstairs[8] = {
B00001,
B10011,
B00111,
B01111,
B11111,
B00000,
B00000,
};
byte rightstairs[8] = {
B10000,
B11000,
B11100,
B11110,
B11111,
B00000,
B00000,
};
byte christmastree[8] = {
B00000,
B00100,
B01110,
B11111,
B00100,
B00100,
B00000,
};
byte N[8] = {
B00000,
B10001,
B10011,
B10101,
B11001,
B10001,
B00000,
};
byte bagel[8] = {
B11011,
B11011,
B00000,
B00000,
B01110,
B01110,
B11111,
B11011
};
void setup()
{
lcd.init();
lcd.backlight();
lcd.createChar(0, smiley);
lcd.createChar(1, rails);
lcd.createChar(2, unhappy);
lcd.createChar(3, leftstairs);
lcd.createChar(4, rightstairs);
lcd.createChar(5, christmastree);
lcd.createChar(6, N);
lcd.createChar(7, bagel);
lcd.home();
}
void loop() {
lcd.autoscroll();
for (int thisChar = 0; thisChar < 256; thisChar++) {
s = thisChar;
lcd.print(s);
delay(500);
}
lcd.noAutoscroll();
}