#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);
}
}