Problème de communication Python-Arduino

J'ai modifié mon programme Python de tel manière qu'il envoie 1 à Arduino si ma valeur est inférieur à 300 (la led rouge est censée s'allumer) et 0 à Arduino si ma valeur est supérieur ou égale à 300 (la led verte est censée s'allumer). Il se passe ceci :

  • Aucune des leds ne s'allume durant la prise de valeurs
  • Lorsque j'arrête la prise de valeur (donc le flux vidéo), si ma dernière valeur prise était 0, la led verte s'allume
  • Si cette valeur était 1, la led rouge ne s'allume pas

Je n'arrive pas à comprendre pourquoi les leds ne s'allument pas durant la prise de valeurs et accessoirement pourquoi la rouge ne s'allume pas lorsque ma dernière valeur prise est 1
Voici le code de la boucle :

void loop() {
  if (Serial.available()) {
    nombre = Serial.parseInt();
    if (nombre == 1) {digitalWrite(ledrouge,HIGH);
                          digitalWrite(ledverte,LOW);}
    if (nombre == 0) {digitalWrite(ledverte,HIGH);
                           digitalWrite(ledrouge,LOW);}
    Serial.flush();   
  }
}

Et le code Python :

variable = x
if int(x) < 300 :
            a = 1
if int(x) >= 300 :
            a = 0
ser.write(str(a).encode("utf-8"))