Exemple de code :
L'exemple de code ci-dessous permet la mesure de la distance grâce au capteur
HC-SR04. Cette valeur est affichée dans le moniteur série de l'IDE Arduino
Le moniteur série est accessible via l'icône
CTRL + MAJ + M.
#define
Broche_Echo 7
#define
Broche_Trigger 8
// Definition des variables
int
MesureMaxi
=
300;
int
MesureMini
=
3;
long
Duree;
long
Distance;
void
setup()
{
pinMode(Broche_Trigger,
pinMode(Broche_Echo,
Serial.begin
(115200);
}
void
loop() {
// Debut de la mesure avec un signal de 10 µS applique sur TRIG //
digitalWrite(Broche_Trigger,
delayMicroseconds(2);
digitalWrite(Broche_Trigger,
delayMicroseconds(10);
digitalWrite(Broche_Trigger,
// On mesure combien de temps le niveau logique haut est actif sur ECHO //
Duree
= pulseIn(Broche_Echo,
// Calcul de la distance grace au temps mesure //
Distance
=
Duree*0.034/2;
// Verification si valeur mesuree dans la plage //
if
(Distance
>=
MesureMaxi
// Si la distance est hors plage, on affiche un message d'erreur //
Serial.println("Distance de mesure en dehors de la plage (3 cm à 3
}
else
{
// Affichage dans le moniteur serie de la distance mesuree //
Serial.print("Distance mesuree
Serial.print(Distance);
Serial.println("cm");
}
delay(1000);
// On ajoute 1 seconde de delais entre chaque mesure //
}
***
La distance mesurée est égale à :
(
Durée totale (aller-retour ultrasons)
// Broche Echo du HC-SR04 sur D7 //
// Broche Trigger du HC-SR04 sur D8 //
// Distance maxi a mesurer //
// Distance mini a mesurer //
OUTPUT);
// Broche Trigger en sortie //
INPUT);
// Broche Echo en entree //
LOW);
// On efface l'etat logique de TRIG //
HIGH);
// On met la broche TRIG a "1" pendant 10µS //
LOW);
// On remet la broche TRIG a "0" //
HIGH);
// *** voir explications apres l'exemple de code
||
Distance
:");
(Aller-retour des ultrasons)
ou via la combinaison de touche
<=
MesureMini) {
*
La vitesse du son (0.034 cm/µs)
®
.
***
//
m)");
)
/
2
3 sur 4