#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
int resetStart = 0;
int resetEnd = 0;
int timeTaken =0;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
// Init
lcd.init();
lcd.backlight();
// Print something
lcd.setCursor(3, 0);
lcd.print("Hello, world!");
lcd.setCursor(1, 1);
lcd.print("Hello Prof.Paxton!");
lcd.setCursor(0, 3);
lcd.print("Last reset: ");
Serial.begin(115200);
}
void loop() {
delay(3000);
lcd.init();
resetStart = millis();
delay(random(500,4000));
display();
}
void display(){
resetEnd = millis();
timeTaken = resetEnd - resetStart;
Serial.println(timeTaken);
// Print something
lcd.setCursor(3, 0);
lcd.print("Hello, world!");
lcd.setCursor(1, 1);
lcd.print("Hello Prof.Paxton!");
lcd.setCursor(0, 3);
lcd.print("Last reset:");
lcd.setCursor(11, 3);
lcd.print(timeTaken);
lcd.setCursor(16, 3);
lcd.print("ms");
}