#include <LiquidCrystal.h>

//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int startpin = 6;
int startButton, startButtonAnt = 0;
unsigned long startTime, endTime;
int presentar = false;

void setup() {
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Mido tiempo");

  pinMode(startpin, INPUT_PULLUP);
   Serial.begin(115200);
}

void loop() {
  char buffer[16];

  startButton = digitalRead(startpin);
  if (!startButton && startButtonAnt) {
      startTime = millis();
  }
  if (startButton && !startButtonAnt) {
     endTime = millis() - startTime;
     presentar = true;
  }
  startButtonAnt = startButton;
  if (presentar) {
      lcd.setCursor(0, 0);
      //         0123456789012345
      lcd.print("Tiempo transcurrido");
      Serial.print("Tiempo =");
      Serial.println(endTime);
      lcd.setCursor(0, 1);
      sprintf(buffer, "T: %4d", endTime);
      lcd.print(buffer);
      presentar = false;
  }
}