No entiendo porque no va este codigo

quiero obtener el tiempo que que se esta regando y no se porque no va este código, solo muestra 0:

if(regando == "ok"){
int t_anterior;
t_anterior=millis();
tiempo=millis()-t_anterior;
}
Serial.println(tiempo);

Pues solo tiene dos opciones:
o la declaracion de la variable tiempo (me parece tenia que ser long, unsigned long)
o el condicional de comparacion de "ok" (prueba a comparar un solo caracter) por.ej: regando == 1 y si no regando == 0

Gracias!! El problema era el diagrama de flujo por llamarlo de alguna forma

Veo un par de fallos , pon como lo has arreglado

Como ves soy un novato total, pero creo que uno de los fallos es que el tiempo que pasa desde que asignas t_anterior a millis() a la siguiente línea en la que le dices que "tiempo= t_anterior-millis()" es muy corto y no hay diferencia en un int. (ten en cuenta que el reloj suele correr a 16Mhz.)

Lo digo desde mis pocos conocimientos.

saludos desde Menorca