ultra sons HC-SR04 présentation rapide du capteur
Remarque : usage
Conseil d'usage
Ce capteur peut s'utiliser avec une librairie dédiée, mais il est plus pédagogique de ne pas l'utiliser.
Dans ce cas, le capteur donne le temps pour l'aller -retour , on multipliant par la vitesse des ultrasons dans le milieu, on obtient la distance pour 'aller retour. Il suffit ensuite de diviser par deux .
Branchements
Exemple : Pour une arduino uno
1
2
//on définit les constantes utiles
3
const int USTrig = 7; // Déclencheur sur la broche 7
4
const int USEcho = 8; // Réception sur la broche 8
5
const int VITESSE = 331;
6
7
//on dprepare les variables utilisees plus tard
8
float temps; //Nombre décimal dans lequel on stockera la durée
9
float distance ; // Nombre décimal que l'on utilisera pour calculer la distance de l'obstacle
10
11
12
//fonction d'initialisation, executee une seule fois
13
void setup()
14
{
15
//borne en sortie pour l'envoi du message
16
pinMode(USTrig, OUTPUT);
17
//borne en entree pour la reception
18
pinMode(USEcho, INPUT);
19
//en n'evoie pas de signal
20
digitalWrite(USTrig, LOW);
21
//on ouvre le port serie pour communiquer
22
Serial.begin(9600);
23
}
24
25
// The loop function is called in an endless loop
26
void loop()
27
{
28
29
// 1. Un état haut de 20 microsecondes est mis sur la broche "Trig"
30
digitalWrite(USTrig, HIGH);
31
delayMicroseconds(20); //on attend 20 µs
32
// 2. On remet à l'état bas la broche Trig
33
digitalWrite(USTrig, LOW);
34
35
// 3. On lit la durée d'état haut sur la broche "Echo"
36
unsigned long duree = pulseIn(USEcho, HIGH);
37
38
if(duree > 30000)
39
{
40
// si la durée est supérieure à 30ms, l'onde est perdue
41
Serial.println("Onde perdue, mesure échouée !");
42
}
43
else
44
{
45
46
47
48
49
distance = VITESSE*duree/2/1000;
50
Serial.print("Duree = ");
51
Serial.println(duree); //affiche le temps de vol d'un trajet en secondes
52
Serial.print("Distance = ");
53
Serial.println(distance); //affiche la distance mesurée (en mètres)
54
}
55
56
// petite pause
57
delay(2000);
58
}
59
60