Alfaville,
lcd.print(tiempoV/1000); // <<== linea no válida
No es que no sea válido. Si tú divides millis() entre 1000 obtienes los segundos, otra cosa es que para mostrarlo en el display necesites obtener cada dígito usando también MOD, que por si COCO_ONE recién empieza a programar es el operador % (común en muchos lenguajes).
Yo aconsjearía usar sprintf, que además de usar menos líneas le damos un formato a la salida que se va a mostrar al lcd, por ejemplo el uso de 0 a la izquierda si por ejemplo los segundos son menos que 10.
long total_milis = tiempo/1000;
int mili = total_milis % 10;
int cent = total_milis / 10 % 10;
int deci = total_milis / 100 % 10;
int seg = total_milis / 1000;
char crono[0];
sprintf(crono,"%.2d:%.2d:%.2d:%.2d",seg,deci,cent,mili);
lcd.print(crono);
¡¡¡Teniendo en cuenta que en mi cronómetro yo NO usé millis(), sino micros() !!! tiempo = micros(); Bueno y en mi código real fui más allá de los milisegundos, pero así este que he modificado como ejemplo va bien diviendo entre 1000.
COCO_ONE, en caso de usar millis(), usa los mod que te pone Alfaville y ya después puedes usar igualmente el sprintf.
Las variables las declaré para que se entendiese pero te las puedes "comer" y añadir cada operación dentro del correspondiente parámetro de sprintf.
Obvio que en este caso deci, cent y mili nunca tendrán dos dígitos, ya que una vez llegado a 10 se cambia la; centésima o décima correspondiente. Le añadí a esas variables el %.2d para hacerlo más visual rellenando también con ceros a la izquierda.
Recuerda y repito hasta la saciedad que usar delays() afectará a la precisión de tu cronómetro, Y MUCHO.
Tienes que poner un botón que funcione como un Switch. Lo único que tienes que hacer es poner que si el estado está en HIGHT mostrar el valor en la lcd. Si usas delay, arrastrarás ese retraso cada vuelta que dé el loop, si no usas nada irá tan rápido que no mostrarás bien los datos en la pantalla porque necesitas usar el lcd.clear().
Otra cuestion, si usas micros() y lo muestras con un Serial.println(); verás que acorta los datos y suelen salir como un número y un periodo repetido estilo: 37777, eso es porque es un long, pero si separas como te comentamos y lo muestras, obtendrás los segundos, decimas, centésimas y milésimas bien en la lcd.
Ejemplo:
Sin presionar:
Presionado: (Nótese los segundos transcurridos en el simulador en la parte superior izquierda y bajo esta línea)
21 segundos, 1 décima de segundo, 1 centésima de segundo, 8 milésimas de segundo, o lo que es lo mismo: 21118 milisegundos.
Un saludo.