besoins d'aide pour utiliser la fonction millis();

Voici mon code :

#include <Servo.h>
Servo servo;

long temps_reference;
int angle_initial = 0;
int angle_final = 180;
bool servo_pos = digitalRead(9);

void setup() {
Serial.begin(9600);
servo.attach (9);
servo.write(angle_initial);
temps_reference = millis();
}

void loop() {
if (millis()>(temps_reference + 10000)){
if (servo_pos = 0){
servo.write(angle_final);
temps_reference = millis();
}
else {
servo.write(angle_initial);
temps_reference = millis();
}

}

}