#define START_P 2
#define STOP_P 3
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20,20,4);
unsigned int start, koniec, uplynelo;
void DisplayResult(){
  float h,m,s,ms;
  unsigned int over;
  uplynelo = koniec - start;
  h = int(uplynelo/3600000);
  over = uplynelo % 3600000;
  m = int(over/60000);
  over = over % 60000;
  s = int(over/1000);
  over = over % 1000;

  Serial.print("Zmierzony czas (ms): ");
  Serial.println(ms);
  Serial.print("Zmierzony czas: ");
  Serial.print("h: ");
  Serial.print(h,0);
  Serial.print("m: ");
  Serial.print(m,0);
  Serial.print("s: ");
  Serial.print(s,0);
  Serial.print("ms: ");
  Serial.print(ms,0);
  Serial.println();
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Zmierzony czas");
  lcd.setCursor(0,1);
  lcd.print(h,0);
  lcd.print("h: ");
  lcd.print(m,0);
  lcd.print("m: ");
  lcd.print(s,0);
  lcd.print("s: ");
  lcd.print(ms,0);
  lcd.print("ms: ");

}


void setup() {
  lcd.begin(20,2);
  lcd.setCursor(0,0);
  lcd.print("Start P1; Stop P2");
  Serial.begin(9600);
  Serial.println("Test");
  pinMode(START_P, INPUT);
  pinMode(STOP_P, INPUT);
  Serial.println("Przycisk START (2) STOP(3)");
}

void loop() {
  if(digitalRead(START_P) == HIGH)
  {
    start = millis();
    delay(200);
    Serial.println("Uruchumiono stoper.");
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Uruchumiono stoper.");
    digitalWrite(START_P,LOW);
  }
  if(digitalRead(STOP_P) == HIGH)
  {
    koniec = millis();
    delay(200);
    DisplayResult();
    digitalWrite(STOP_P, LOW);
  }
}