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
}