#include <LCD_I2C.h>
LCD_I2C lcd(0x27);
byte RPM[5][8];
byte signs[3][8] = {
{
B00000,
B00100,
B01100,
B11111,
B11111,
B01100,
B00100,
B00000
},
{
B00000,
B00100,
B00110,
B11111,
B11111,
B00110,
B00100,
B00000
},
{
B11111,
B10001,
B10101,
B10101,
B10001,
B10101,
B10001,
B11111
}
};
void setup() {
lcd.begin();
lcd.backlight();
for (int i = 0; i < 8; ++i) {
RPM[0][i] = 0b10000;
RPM[1][i] = 0b11000;
RPM[2][i] = 0b11100;
RPM[3][i] = 0b11110;
RPM[4][i] = 0b11111;
}
lcd.createChar(0, RPM[0]);
lcd.createChar(1, RPM[1]);
lcd.createChar(2, RPM[2]);
lcd.createChar(3, RPM[3]);
lcd.createChar(4, RPM[4]);
lcd.createChar(5, signs[0]);
lcd.createChar(6, signs[1]);
lcd.createChar(7, signs[2]);
lcd.setCursor(2, 0);
lcd.print("327 km/h");
lcd.setCursor(13, 0);
lcd.print("6");
for(int i = 0; i < 16; ++i) {
lcd.setCursor(i, 1);
for(int n = 0; n < 5; ++n) {
lcd.setCursor(i, 1);
lcd.write(byte(n));
delay(20);
}
}
}
void loop() {
lcd.setCursor(15, 0);
lcd.write(byte(6));
lcd.setCursor(0, 0);
lcd.write(byte(5));
delay(600);
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(15, 0);
lcd.print(" ");
delay(600);
}