problème avec mon capteur ultrason... aidez moi

Bonjour !! je suis un nouveau sur votre forum et aussi un passionné de l’outil Arduino. Je tiens à vous rappeler que je suis à mes débuts dans cet univers. Cependant j’ai eu à rencontrer quelques difficultés en ce qui concerne le capteur ultrason. Mon petit projet à pour but de commander un moteur, 09 LED , ainsi qu’une sonnerie d’alarme à l’aide des distances déterminées par le capteur ultrason.
J’ai réussi à faire le montage mais j’ai remarqué que : quand l’obstacle vient devant le capteur le moteur ne s’arrête pas, les LED s’allument normalement dans l’ordre d’allumage mais l’alarme ne retenti pas.
est-ce que c’est mon programme qui est incorrect ? ou un problème au niveau du capteur?
aidez moi s’il vous plait.
Voilà mon code :

//www.elegoo.com
//2016.12.08
#define DISABLE 13




int pinRelais = 9;




int tDelay=100;




#include "SR04.h"
#define TRIG_PIN 12
#define ECHO_PIN 11
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;

int greenLED = 10;
int greenLED2 = 14;
int greenLED3 = 2;
int yellowLED = 3;
int yellowLED2 = 4;
int yellowLED3 = 5;
int redLED = 6;
int redLED2 = 7;
int redLED3 = 8;

void setup() {
  
  pinMode (greenLED,OUTPUT);
  pinMode (greenLED2,OUTPUT);
  pinMode (greenLED3,OUTPUT);
  pinMode (yellowLED,OUTPUT);
  pinMode (yellowLED2,OUTPUT);
  pinMode (yellowLED3,OUTPUT);
  pinMode (redLED, OUTPUT);
  pinMode (redLED2,OUTPUT);
  pinMode (redLED3, OUTPUT);
  
  delay(100);
  
  pinMode(DISABLE,OUTPUT);
 
    
  pinMode(pinRelais,OUTPUT);
  Serial.begin(9600);

 

}

void loop() {
   // commande ultrason
   
  
  
   a=sr04.Distance();
   Serial.print(a);
   Serial.println("cm");
   
  //commande moteur
   if (a<40){
    Serial.println("extinction du moteur");
    digitalWrite(DISABLE,HIGH); // enable OFF
      
   }
   else if (a>=40){
    Serial.println("réarmement  du moteur");
    digitalWrite(DISABLE,LOW); // enable ON
      
   }
   // commande alarme
   if (a<80 && a>=0){
    Serial.println("declenchement  de l'alarme");
    digitalWrite(pinRelais,HIGH); // enable On
      
   }
      else if (a>=80){
        Serial.println("extinction  de l'alarme");
     digitalWrite(pinRelais,LOW); // enable OFF
      
      }
   
   
   
   //Commande allumage LED   
   if(a<40){
    
   Serial.println("Allumage des Led vertes,  des LED jaune puis des LED rouge et réamement du moteur");
    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,HIGH);
    digitalWrite(yellowLED,HIGH);
    digitalWrite(yellowLED2,HIGH);
    digitalWrite(yellowLED3,HIGH);
    digitalWrite(redLED,HIGH);
    digitalWrite(redLED2,HIGH);
    digitalWrite(redLED3,HIGH);
 
  
   digitalWrite(pinRelais,HIGH); // 
     digitalWrite(DISABLE,HIGH); // enable OFF
      
      
    
   }
   if(a>=40 && a<80){
    Serial.println("Allumage des Led vertes  et des LED jaune puis de la premiere et 2eme LED rouge. extinction  de la 3eme  LED rouge");

    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,HIGH);
    digitalWrite(yellowLED,HIGH);
    digitalWrite(yellowLED2,HIGH);
    digitalWrite(yellowLED3,HIGH);
    digitalWrite(redLED,HIGH);
    digitalWrite(redLED2,HIGH);
    digitalWrite(redLED3,LOW);
    
    //on active l'alarme
    digitalWrite(pinRelais,HIGH); // 
    digitalWrite(DISABLE,LOW); // enable ON
      
   }

   if (a>=80 && a<100){
    
    Serial.println("Allumage des Led vertes  et des LED jaune puis de la premiere  LED rouge. extinction  des 2eme et 3eme  LED rouge");

    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,HIGH);
    digitalWrite(yellowLED,HIGH);
    digitalWrite(yellowLED2,HIGH);
    digitalWrite(yellowLED3,HIGH);
    digitalWrite(redLED,HIGH);
    digitalWrite(redLED2,LOW);
    digitalWrite(redLED3,LOW);
     
    //on Désactive l'alarme
    digitalWrite(pinRelais,LOW);
    digitalWrite(DISABLE,LOW); // enable ON
      
   }
   
   
   if (a>=100 && a<150){
    Serial.println("Allumage des Led vertes  et des LED jaune puis . extinction  deS   LED rouge");

    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,HIGH);
    digitalWrite(yellowLED,HIGH);
    digitalWrite(yellowLED2,HIGH);
    digitalWrite(yellowLED3,HIGH);
    digitalWrite(redLED,LOW);
    digitalWrite(redLED2,LOW);
    digitalWrite(redLED3,LOW);
     
    //on désactive l'alarme
    digitalWrite(pinRelais,LOW);
    digitalWrite(DISABLE,LOW); // enable ON  
      
   }
   
   if(a>=150 && a<200){
    Serial.println("Allumage des Led vertes  et des 1ere et 2eme LED jaune. extinction  de la 3ème LED jaune et des LED rouge");
    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,HIGH);
    digitalWrite(yellowLED,HIGH);
    digitalWrite(yellowLED2,HIGH);
    digitalWrite(yellowLED3,LOW);
    digitalWrite(redLED,LOW);
    digitalWrite(redLED2,LOW);
    digitalWrite(redLED3,LOW);
      
       digitalWrite(pinRelais,LOW); // enable on
       digitalWrite(DISABLE,LOW); // enable ON 
            
   }
   if(a>=200 && a<250){
    Serial.println("Allumage des Led vertes  et de La  1ere LED jaune. extinction  de la  2ème et 3ème LED jaune et des LED rouge");
    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,HIGH);
    digitalWrite(yellowLED,HIGH);
    digitalWrite(yellowLED2,LOW);
    digitalWrite(yellowLED3,LOW);
    digitalWrite(redLED,LOW);
    digitalWrite(redLED2,LOW);
    digitalWrite(redLED3,LOW);
     
  // ALARME DESACTIVE
        digitalWrite(pinRelais,LOW); // enable on
       digitalWrite(DISABLE,LOW); // enable ON 
   }
   if(a>=250 && a<350){
    Serial.println("Allumage des Led vertes  et  extinction dES LED jaune et des LED rouge");
    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,HIGH);
    digitalWrite(yellowLED,LOW);
    digitalWrite(yellowLED2,LOW);
    digitalWrite(yellowLED3,LOW);
    digitalWrite(redLED,LOW);
    digitalWrite(redLED2,LOW);
    digitalWrite(redLED3,LOW);
     
  // ALARME DESACTIVE
    digitalWrite(pinRelais,LOW); // enable on
        digitalWrite(DISABLE,LOW); // enable ON
          
   }
   if(a>=350 && a<400){
    Serial.println("Allumage de LA 1ère et 2ème Led verte  et extinction des LED jaune et rouge et 3ème LED VERTE");
    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,HIGH);
    digitalWrite(greenLED3,LOW);
    digitalWrite(yellowLED,LOW);
    digitalWrite(yellowLED2,LOW);
    digitalWrite(yellowLED3,LOW);
    digitalWrite(redLED,LOW);
    digitalWrite(redLED2,LOW);
    digitalWrite(redLED3,LOW);
     
  // ALARME DESACTIVE
  
    digitalWrite(pinRelais,LOW); // enable on
      digitalWrite(DISABLE,LOW); // enable ON  
        
   }

   
   if(a>=400){
    
  Serial.println("Allumage de LA 1ère  Led verte  et extinction des LED jaune et rouge et 3ème ET 2éme LED VERTE");
    digitalWrite(greenLED,HIGH);
    digitalWrite(greenLED2,LOW);
    digitalWrite(greenLED3,LOW);
    digitalWrite(yellowLED,LOW);
    digitalWrite(yellowLED2,LOW);
    digitalWrite(yellowLED3,LOW);
    digitalWrite(redLED,LOW);
    digitalWrite(redLED2,LOW);
    digitalWrite(redLED3,LOW);
     
  // ALARME DESACTIVE
  
    digitalWrite(pinRelais,LOW); // enable on
    digitalWrite(DISABLE,LOW); // enable ON 
      
   }

  
   
   

   
}

Il semble qu'il n'y ait plus qu'un seul message c'est mieux.
Les règles du forum francophone sont à peine respectées : ajouter un "aidez moi" sec n'encourage pas à aider.
Premièrement parce ce que ces mots sont interdits dans un titre (voir le message épinglé "Règles du forum francophone") et deuxièmement parce que l'emploi du mode impératif est compris comme un ordre que tu nous donnes.
Un "aidez moi svp" serait mieux passé, l'absence de réponse confirme mon ressenti.

Ensuite pour ton problème le nom des variables en anglais , ce qui n'apporte rien au programme, fait penser à un programme copié sur internet et/ou une version à peine adaptée.

Ce n'est pas la solution pour progresser.
Il faut faire des petits programmes de test pour chaque composant et qui ne gèrent qu'un seul composant à la fois.
Il ne faut pas recopier mais ré-écrire en réfléchissant à l'utilité de chaque instruction.

Voila comment je verrai l'affaire :

  1. Savoir mettre en route le moteur
  2. Savoir comment arrêter le moteur
  3. Savoir utiliser le capteur à ultrasons.
  4. Assembler le tout .
  5. Gestion des dels (led c'est de l'anglais).
  6. Assemblage final

Tu aura plus de probabilité d'obtenir des réponses utiles si tu poses des questions précises qui montrent que tu t'es documenté et que tu as réfléchi avant de poser la question.