augmenter de 10 degrés l'inclinaison du servomoteurs à chaques envoie

Bon j'ai essayé par moi même encore un peu d'enlever se qui pourrait ralentir mon programme

// --- Déclaration des constantes ---

// --- Inclusion des librairies ---

#include <Servo.h> // librairie pour servomoteur 


// --- Déclaration des constantes utiles ---

//--- Constantes utilisées avec le servomoteur 
int angle;

const int angleMin  = 2;
const int angleMax = 172;

// --- Déclaration des constantes des broches E/S numériques ---

const int broche_servo=2; // Constante pour la broche 2
const int broche_servo1=4; // Constante pour la broche 3
// --- Déclaration des constantes des broches analogiques ---


// --- Déclaration des variables globales ---

 int octetReception=0; // variable de stockage des valeurs reçues sur le port Série
 long nombreReception=0; // variable de stockage du nombre  reçu sur le port Série
 long nombreReception0=0; // variable de stockage du dernier nombre  reçu sur le port Série
 String chaineReception=""; // déclare un objet String vide pour reception chaine
int position_servo=0;
int position_servo1=0;

// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---

//--- Création objet servomoteur 
Servo mon_servo;  // crée un objet servo pour contrôler le servomoteur
Servo mon_servo1;  // crée un objet servo1 pour contrôler le servomoteur


// ////////////////////////// 2. FONCTION SETUP = Code d'initialisation ////////////////////////// 
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter 1 seule fois au démarrage du programme --- 

// ------- Initialisation fonctionnalités utilisées -------  

Serial.begin(115200); // initialise connexion série à 115200 bauds
// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission 

//--- Initialisation Servomoteur 
mon_servo.attach(broche_servo, angleMin, angleMax);  // attache l'objet servo à la broche de commande du servomoteur
mon_servo1.attach(broche_servo1, angleMin, angleMax);  // attache l'objet servo1 à la broche de commande du servomoteur


// ------- Broches en sorties numériques -------  
 pinMode (broche_servo,OUTPUT); // Broche broche_servo configurée en sortie
 pinMode (broche_servo1,OUTPUT); // Broche broche_servo1 configurée en sortie

// ------- Broches en entrées numériques -------  
mon_servo.write(position_servo);
mon_servo1.write(position_servo1);
// ------- Activation si besoin du rappel au + (pullup) des broches en entrées numériques -------  

// ------- Initialisation des variables utilisées -------  

}
// ********************************************************************************

////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme //////////////////
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop()
{ // debut de la fonction loop()
	static uint8_t i = 0;
        static uint8_t i1 = 0;
	static uint8_t angleCourant = 0;
        static uint8_t angleCourant1 = 0;
	// --- ici instructions à exécuter par le programme principal --- 

	//---- code type réception valeur sur le port série --- 
 if (Serial.available() > 0) 
	{ 
		// si un octet en réception 
		octetReception=Serial.read(); // Lit le 1er octet reçu et le met dans la variable

		if (octetReception=='D') // si Octet reçu est le Q
		{
			angleCourant1 = 90; // positionne le servo1 à l'angle voulu en fonction des valeurs min/max 
			i1 = 90;
		}
		
		if (octetReception=='J' && i1==0){ // si Octet reçu est le H et que c'est la première fois
			
                          angleCourant1 += 10;  
} 
		else if (octetReception=='J' && i1>0){
			angleCourant1 += (angleCourant1 <= angleMax) ? 10 : 0; //fait tourner de +10 Degrés le servomoteur 
		 }
		
                 if (octetReception=='M' && i1==0) {// si Octet reçu est le A et que c'est la première fois
		

                        angleCourant1 -= 10;   
                 }
		else if (octetReception=='M' && angleCourant<=180){
			angleCourant1 -= (angleCourant1 >= angleMin) ? 10 : 0; // Fait tourner de -10 Degrés le servomoteur

                 }
               
	

		if (octetReception=='I') // si Octet reçu est le Q
		{
			angleCourant = 90; // positionne le servo à l'angle voulu en fonction des valeurs min/max 
			i = 90;
		}
		
		if (octetReception=='H' && i==0){ // si Octet reçu est le H et que c'est la première fois
			
                          angleCourant += 10;  
} 
		else if (octetReception=='H' && i>0){
			angleCourant += (angleCourant <= angleMax) ? 10 : 0; //fait tourner de +10 Degrés le servomoteur 
		 }
		
                 if (octetReception=='A' && i==0) {// si Octet reçu est le A et que c'est la première fois
		

                        angleCourant -= 10;   
                 }
		else if (octetReception=='A' && angleCourant<=180){
			angleCourant -= (angleCourant >= angleMin) ? 10 : 0; // Fait tourner de -10 Degrés le servomoteur

                 }
                  
                mon_servo1.write(angleCourant1);
                mon_servo.write(angleCourant);
                delay(200);
}
               
}
// ////////////////////////// Fin du programme //////////////////// 


// ////////////////////////// Mémo instructions //////////////////// 
// ////////////////////////// Fin Mémo instructions ////////////////////

Mais j'ai découvert un truc si je met cette partie la

if (octetReception=='D') // si Octet reçu est le Q
		{
			angleCourant1 = 90; // positionne le servo1 à l'angle voulu en fonction des valeurs min/max 
			i1 = 90;
		}
		
		if (octetReception=='J' && i1==0){ // si Octet reçu est le H et que c'est la première fois
			
                          angleCourant1 += 10;  
} 
		else if (octetReception=='J' && i1>0){
			angleCourant1 += (angleCourant1 <= angleMax) ? 10 : 0; //fait tourner de +10 Degrés le servomoteur 
		 }
		
                 if (octetReception=='M' && i1==0) {// si Octet reçu est le A et que c'est la première fois
		

                        angleCourant1 -= 10;   
                 }
		else if (octetReception=='M' && angleCourant<=180){
			angleCourant1 -= (angleCourant1 >= angleMin) ? 10 : 0; // Fait tourner de -10 Degrés le servomoteur

                 }

avant celle là

if (octetReception=='I') // si Octet reçu est le Q
		{
			angleCourant = 90; // positionne le servo à l'angle voulu en fonction des valeurs min/max 
			i = 90;
		}
		
		if (octetReception=='H' && i==0){ // si Octet reçu est le H et que c'est la première fois
			
                          angleCourant += 10;  
} 
		else if (octetReception=='H' && i>0){
			angleCourant += (angleCourant <= angleMax) ? 10 : 0; //fait tourner de +10 Degrés le servomoteur 
		 }
		
                 if (octetReception=='A' && i==0) {// si Octet reçu est le A et que c'est la première fois
		

                        angleCourant -= 10;   
                 }
		else if (octetReception=='A' && angleCourant<=180){
			angleCourant -= (angleCourant >= angleMin) ? 10 : 0; // Fait tourner de -10 Degrés le servomoteur

                 }

ou inversement celle qui est écrire en première aura son servo qui répondra directement sans problème alors que celle en deuxième mettra du temps et parfois même ne répondra pas

si vous aviez des explications ??