0% ont trouvé ce document utile (0 vote)
3 vues7 pages

TP Instrumentations

Ce TP initie les étudiants à l'utilisation des capteurs DHT22 et HC-SR04 en simulation avec Arduino, permettant de mesurer la température, l'humidité et la distance. Les étudiants apprendront à réaliser le câblage virtuel, à programmer les capteurs et à interpréter les résultats via un moniteur série. L'application finale inclut la création d'un système de détection de proximité avec une LED d'alarme, renforçant l'apprentissage des capteurs environnementaux et de distance.

Transféré par

saad.maxkibri
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues7 pages

TP Instrumentations

Ce TP initie les étudiants à l'utilisation des capteurs DHT22 et HC-SR04 en simulation avec Arduino, permettant de mesurer la température, l'humidité et la distance. Les étudiants apprendront à réaliser le câblage virtuel, à programmer les capteurs et à interpréter les résultats via un moniteur série. L'application finale inclut la création d'un système de détection de proximité avec une LED d'alarme, renforçant l'apprentissage des capteurs environnementaux et de distance.

Transféré par

saad.maxkibri
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP – Instrumentations et capteurs GE – ESTD

Travaux Pratiques
Initiation aux capteurs : DHT22 et HC-SR04
Réalisation du TP en simulation avec Arduino

Présentation générale
Ce TP a pour objectif d’initier l’étudiant à l’utilisation de deux capteurs couramment
employés dans les systèmes embarqués : le capteur DHT22, utilisé pour mesurer la tem-
pérature et l’humidité relative, et le capteur ultrasonique HC-SR04, utilisé pour mesurer
une distance. Contrairement à un montage réalisé avec du matériel réel, ce TP sera effectué
en simulation. L’étudiant devra donc construire le circuit virtuel, téléverser le programme
Arduino et observer les résultats sur le moniteur série ou à l’aide d’indicateurs virtuels.

Objectif pédagogique

À la fin de ce TP, l’étudiant doit être capable de :


— identifier le rôle des broches d’un capteur DHT22 et d’un capteur HC-SR04 ;
— réaliser un câblage correct sur une carte Arduino UNO virtuelle ;
— lire une température, une humidité et une distance par programme ;
— exploiter le moniteur série pour vérifier les valeurs mesurées ;
— mettre en place une application simple de détection de proximité avec une LED
d’alarme.

1. Environnement de simulation
Le TP peut être réalisé avec un simulateur Arduino tel que Tinkercad Circuits, Wokwi
ou tout autre environnement équivalent permettant d’ajouter une carte Arduino UNO, des
capteurs et des composants électroniques de base.

Matériel virtuel nécessaire


— une carte Arduino UNO ;
— un capteur DHT22 ou DHT11 selon le simulateur disponible ;
— un capteur ultrasonique HC-SR04 ;
— une LED ;
— une résistance de protection de 220 Ω ;
— des fils de connexion ;
— le moniteur série du simulateur.

1
TP – Instrumentations et capteurs GE – ESTD

Remarque importante
Dans certains simulateurs, le DHT22 peut ne pas être disponible. Dans ce cas, l’étudiant
peut utiliser un DHT11 tout en gardant le même principe de programmation. Il faudra
simplement modifier le type du capteur dans le programme.

2. Partie 1 – Simulation du capteur DHT22


2.1. Principe de fonctionnement
Le DHT22 est un capteur numérique capable de fournir deux grandeurs physiques : la
température de l’air et l’humidité relative. Il communique avec l’Arduino à travers une seule
broche de données. La carte Arduino envoie une demande de lecture, puis le capteur retourne
les valeurs mesurées sous forme numérique.

2.2. Câblage à réaliser en simulation


Dans le simulateur, placer une carte Arduino UNO et un capteur DHT22. Réaliser ensuite
les connexions suivantes :

Broche du DHT22 Connexion Arduino Rôle


VCC 5V Alimentation du capteur
DATA D2 Transmission des données
GND GND Masse commune

Travail demandé
Réaliser le montage dans le simulateur, vérifier que les masses sont correctement reliées,
puis ouvrir l’éditeur de code Arduino.

2.3. Programme 1 : lecture de la température


Le premier programme permet uniquement d’afficher la température mesurée par le cap-
teur. Il permet de vérifier que le capteur est bien reconnu par l’Arduino.
Listing 1 – Lecture de la température avec DHT22
1 # include < DHT .h >
2

3 # define DHTPIN 2
4 # define DHTTYPE DHT22
5

6 DHT dht ( DHTPIN , DHTTYPE ) ;


7

8 void setup () {
9 Serial . begin (9600) ;
10 Serial . println ( " Lecture de la temperature avec DHT22 " ) ;
11 dht . begin () ;
12 }
13

14 void loop () {

2
TP – Instrumentations et capteurs GE – ESTD

15 float temperature = dht . readTemperature () ;


16

17 if ( isnan ( temperature ) ) {
18 Serial . println ( " Erreur de lecture du capteur ! " ) ;
19 } else {
20 Serial . print ( " Temperature = " ) ;
21 Serial . print ( temperature ) ;
22 Serial . println ( " C " ) ;
23 }
24

25 delay (2000) ;
26 }

2.4. Explication du programme


La ligne #include <DHT.h> permet d’utiliser la bibliothèque du capteur. La constante
DHTPIN indique que la broche de données est connectée à la broche numérique 2 de l’Arduino.
La fonction readTemperature() lit la température. La fonction isnan() permet de tester si
la lecture est invalide. Un délai de deux secondes est ajouté, car le capteur DHT22 ne doit
pas être interrogé trop rapidement.

2.5. Programme 2 : lecture de la température et de l’humidité


Ce deuxième programme affiche simultanément la température et l’humidité relative.
Listing 2 – Lecture de la température et de l’humidité avec DHT22
1 # include < DHT .h >
2

3 # define DHTPIN 2
4 # define DHTTYPE DHT22
5

6 DHT dht ( DHTPIN , DHTTYPE ) ;


7

8 void setup () {
9 Serial . begin (9600) ;
10 Serial . println ( " Lecture temperature et humidite DHT22 " ) ;
11 dht . begin () ;
12 }
13

14 void loop () {
15 float temperature = dht . readTemperature () ;
16 float humidite = dht . readHumidity () ;
17

18 if ( isnan ( temperature ) || isnan ( humidite ) ) {


19 Serial . println ( " Erreur de lecture ! " ) ;
20 } else {
21 Serial . print ( " Temperature = " ) ;
22 Serial . print ( temperature ) ;
23 Serial . print ( " C \ tHumidite = " ) ;
24 Serial . print ( humidite ) ;
25 Serial . println ( " % " ) ;

3
TP – Instrumentations et capteurs GE – ESTD

26 }
27

28 delay (2000) ;
29 }

Travail demandé
Lancer la simulation, ouvrir le moniteur série, puis noter plusieurs valeurs de tempéra-
ture et d’humidité. Modifier les paramètres du capteur virtuel si le simulateur le permet
et observer l’évolution des mesures.

3. Partie 2 – Simulation du capteur ultrasonique HC-SR04


3.1. Principe de fonctionnement
Le HC-SR04 mesure une distance en utilisant une onde ultrasonore. La broche TRIG
déclenche l’émission d’une impulsion ultrasonore. Si un obstacle est présent, l’onde se ré-
fléchit et revient vers le capteur. La broche ECHO reste à l’état haut pendant une durée
proportionnelle au temps aller-retour de l’onde. La distance est ensuite calculée à partir de
la vitesse du son.
v×t
d= (1)
2
où d est la distance, v la vitesse du son et t le temps mesuré. La division par 2 est
nécessaire, car le temps mesuré correspond à un trajet aller-retour.

3.2. Câblage à réaliser en simulation


Broche HC-SR04 Connexion Arduino Rôle
VCC 5V Alimentation du capteur
GND GND Masse commune
Déclenchement de l’impul-
TRIG D9
sion
Réception du signal de re-
ECHO D10
tour

3.3. Programme 3 : mesure de distance

Listing 3 – Mesure de distance avec HC-SR04


1 const byte TRIGGER_PIN = 9;
2 const byte ECHO_PIN = 10;
3 const unsigned long MEASURE_TIMEOUT = 25000 UL ;
4 const float SOUND_SPEED = 340.0 / 1000; // vitesse du son en mm / us
5

6 void setup () {
7 Serial . begin (115200) ;
8 pinMode ( TRIGGER_PIN , OUTPUT ) ;
9 digitalWrite ( TRIGGER_PIN , LOW ) ;

4
TP – Instrumentations et capteurs GE – ESTD

10 pinMode ( ECHO_PIN , INPUT ) ;


11 }
12

13 void loop () {
14 digitalWrite ( TRIGGER_PIN , HIGH ) ;
15 delayMicroseconds (10) ;
16 digitalWrite ( TRIGGER_PIN , LOW ) ;
17

18 long measure = pulseIn ( ECHO_PIN , HIGH , MEASURE_TIMEOUT ) ;


19 float distance_mm = measure / 2.0 * SOUND_SPEED ;
20

21 Serial . print ( " Distance : " ) ;


22 Serial . print ( distance_mm ) ;
23 Serial . print ( " mm ( " ) ;
24 Serial . print ( distance_mm / 10.0 , 2) ;
25 Serial . print ( " cm , " ) ;
26 Serial . print ( distance_mm / 1000.0 , 2) ;
27 Serial . println ( " m ) " ) ;
28

29 delay (500) ;
30 }

3.4. Explication du programme


La broche TRIGGER_PIN envoie une impulsion de 10 µs afin de déclencher la mesure. La
fonction pulseIn() mesure la durée pendant laquelle la broche ECHO_PIN reste à l’état haut.
Cette durée est ensuite multipliée par la vitesse du son. Comme l’onde effectue un aller-retour
entre le capteur et l’obstacle, le résultat est divisé par 2.

Travail demandé
Lancer la simulation et modifier la position de l’obstacle virtuel placé devant le capteur.
Relever au moins cinq distances différentes et vérifier que les valeurs affichées dans le
moniteur série varient correctement.

4. Partie 3 – Application : barrière avec LED d’alarme


4.1. Objectif de l’application
Dans cette application, le capteur HC-SR04 est utilisé comme détecteur de proximité.
Lorsque la distance mesurée est inférieure à 20 cm, une LED s’allume pour signaler la présence
d’un obstacle. Lorsque l’obstacle s’éloigne, la LED s’éteint.

4.2. Câblage supplémentaire


Ajouter une LED sur la broche D3 de l’Arduino. La LED doit être protégée par une
résistance de 220 Ω.

5
TP – Instrumentations et capteurs GE – ESTD

Composant Connexion Arduino Rôle


Commande de l’alarme lu-
Anode LED D3 à travers une résistance
mineuse
Cathode LED GND Retour à la masse

4.3. Programme 4 : détection d’obstacle

Listing 4 – Barrière avec LED d’alarme


1 const byte TRIGGER_PIN = 9;
2 const byte ECHO_PIN = 10;
3 const byte LED_PIN = 3;
4 const unsigned long MEASURE_TIMEOUT = 25000 UL ;
5 const float SOUND_SPEED = 340.0 / 1000;
6

7 void setup () {
8 Serial . begin (115200) ;
9 pinMode ( TRIGGER_PIN , OUTPUT ) ;
10 digitalWrite ( TRIGGER_PIN , LOW ) ;
11 pinMode ( ECHO_PIN , INPUT ) ;
12 pinMode ( LED_PIN , OUTPUT ) ;
13 }
14

15 void loop () {
16 digitalWrite ( TRIGGER_PIN , HIGH ) ;
17 delayMicroseconds (10) ;
18 digitalWrite ( TRIGGER_PIN , LOW ) ;
19

20 long measure = pulseIn ( ECHO_PIN , HIGH , MEASURE_TIMEOUT ) ;


21 float distance_cm = ( measure / 2.0 * SOUND_SPEED ) / 10.0;
22

23 Serial . print ( " Distance = " ) ;


24 Serial . print ( distance_cm , 2) ;
25 Serial . println ( " cm " ) ;
26

27 if ( distance_cm > 0 && distance_cm < 20) {


28 digitalWrite ( LED_PIN , HIGH ) ;
29 } else {
30 digitalWrite ( LED_PIN , LOW ) ;
31 }
32

33 delay (300) ;
34 }

Travail demandé
Tester l’application pour plusieurs positions de l’obstacle. Vérifier que la LED s’allume
uniquement lorsque la distance est inférieure à 20 cm. Modifier ensuite le seuil à 10 cm
puis à 30 cm et commenter le comportement obtenu.

6
TP – Instrumentations et capteurs GE – ESTD

5. Questions de compréhension
1. Pourquoi le capteur DHT22 nécessite-t-il un délai entre deux lectures successives ?
2. Quel est le rôle de la broche DATA dans le capteur DHT22 ?
3. Pourquoi faut-il diviser par 2 dans la formule de calcul de distance du HC-SR04 ?
4. Que représente la durée mesurée par la fonction pulseIn() ?
5. Quel est l’intérêt d’utiliser une simulation avant de réaliser le montage réel ?
6. Que se passe-t-il si la masse du capteur n’est pas reliée à la masse de l’Arduino ?
7. Comment peut-on transformer l’application de LED d’alarme en système de stationne-
ment intelligent ?

6. Compte rendu demandé


Le compte rendu doit contenir :
— le schéma de câblage simulé du DHT22 ;
— le schéma de câblage simulé du HC-SR04 ;
— les programmes testés ;
— un tableau de mesures de température, d’humidité et de distance ;
— une interprétation des résultats obtenus ;
— les réponses aux questions de compréhension ;
— une conclusion sur l’intérêt de la simulation dans l’apprentissage des capteurs.

Conclusion
Ce TP permet de découvrir deux familles importantes de capteurs : les capteurs en-
vironnementaux, représentés par le DHT22, et les capteurs de distance, représentés par le
HC-SR04. La simulation facilite la compréhension du câblage, de la programmation et de l’in-
terprétation des mesures sans risque de détériorer le matériel. Une fois les résultats validés
virtuellement, le même principe peut être appliqué sur une carte Arduino réelle.

Vous aimerez peut-être aussi