novato ayuda, con serial y lazos condicionales

Buenas, mi intecion con este programa es temporizar un evento, como estoy empezando con arduino ando un poco perdido, y he hecho un programita que a mi jucio debe funcionar, pero cuando esta el evento apagado, en este caso un interruptor, por el monitor serie sale siempre actualizado el tiempo, como prodria evitar esto???

el codigo:

// CuentaTiempo -- programa que vamos a usar para comprobar la temporizacion del insopic //

const int entrada = 2; const int led = 13;

long int comienzo; long int final; long int tiempo; int estado = 0;

void setup() { pinMode (entrada, INPUT); pinMode (led, OUTPUT); Serial.begin(9600); }

void loop() { estado = digitalRead (entrada); if (estado = HIGH ) { comienzo = millis (); digitalWrite (led,HIGH); while (estado == HIGH) { final = millis (); digitalWrite (led, HIGH); estado = digitalRead (entrada); } tiempo = (final -comienzo)/1000; Serial.print ("EL tiempo ha sido :"); Serial.println (tiempo); } else { digitalWrite (led,LOW); }

}

acabo de encotrar el fallo, esta en el if!!!1
void loop()
{
estado = digitalRead (entrada);
if (estado == HIGH ) <— AQUI ESTABA
{
comienzo = millis ();
digitalWrite (led,HIGH);
while (estado == HIGH)
{
final = millis ();
//digitalWrite (led, HIGH);
estado = digitalRead (entrada);
}
tiempo = (final -comienzo)/1000;
Serial.print (“EL tiempo ha sido :”);
Serial.println (tiempo);
}
else
{
digitalWrite (led,LOW);
estado = LOW;
}

}

solo habia puesto un = en ve de == solucionado, gracias por contestar