13.3 - Capteur à ultrasons

const int pinTrig = 2; //Broche utilisée pour la pin Trigger
const int pinEcho = 3; //Broche utilisée pour la pin Echo
long temps; //Variable pour stocker le temps de parcours du signal
float distance; //Variable pour stocker la distance

void setup() {
  pinMode(pinTrig, OUTPUT); //On déclare la broche reliée à trigger en sortie
  pinMode(pinEcho, INPUT); //On déclare la broche reliée à echo en entrée
  digitalWrite(pinTrig, LOW); //On met la pin trigger à l'état bas
  Serial.begin(9600); 
}

void loop() {
  digitalWrite(pinTrig, HIGH); //On met la pin Trigger à l'état haut pendant 10us
  delayMicroseconds(10);
  digitalWrite(pinTrig, LOW); //On remet la pin Trigger à l'état bas

  temps = pulseIn(pinEcho, HIGH); //Temps où pinEcho est à HIGH
  if (temps > 25000) { 
    Serial.println("Echec de la mesure");
  }

  else {
    distance = 0.017 * temps; //Résultat en cm -> 34000/2000000 = 0.017
    Serial.print("Distance: "); //On affiche la distance en cm dans le moniteur série
    Serial.print(distance);
    Serial.println(" cm");
  }
  delay(2000); //Pause de 2s
}