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

Mesurer Température et Humidité DHT11 avec Raspberry Pi

Ce TP décrit comment utiliser un capteur de température et d'humidité DHT11 avec un Raspberry Pi pour mesurer et afficher ces données via un script Python. Il couvre la préparation du matériel, l'installation des bibliothèques nécessaires et la rédaction d'un code simple pour récupérer et afficher les mesures. À la fin, les utilisateurs pourront visualiser les données de température et d'humidité toutes les deux secondes.

Transféré par

sindasahmima
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)
26 vues7 pages

Mesurer Température et Humidité DHT11 avec Raspberry Pi

Ce TP décrit comment utiliser un capteur de température et d'humidité DHT11 avec un Raspberry Pi pour mesurer et afficher ces données via un script Python. Il couvre la préparation du matériel, l'installation des bibliothèques nécessaires et la rédaction d'un code simple pour récupérer et afficher les mesures. À la fin, les utilisateurs pourront visualiser les données de température et d'humidité toutes les deux secondes.

Transféré par

sindasahmima
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 2 : Capteur de température et humidité

DHT11 avec Raspberry Pi

Objectif :
Dans ce TP, nous utilisons un capteur de température et humidité DHT11. A l’aide d’un script
Python sur votre Raspberry Pi, nous mesurons la température et l’humidité. Lorsque vous
aurez terminé ce TP, vous pourrez connecter le capteur DHT11 à votre Pi via les broches
GPIO. Vous aurez également le code de base pour convertir le signal de sortie du capteur en
informations utilisables dans votre script Python.

1) Préparez votre Pi
Tout d’abord, vous avez besoin d’un Raspberry Pi avec la dernière version de Raspberry Pi
OS. Cette version comprend “Thonny”. Nous utiliserons cet environnement convivial pour
écrire notre code Python.

2) Préparez le matériel supplémentaire


Ensuite, vous aurez besoin d’un peu de matériel supplémentaire:

 Un breadboard
 Un capteur de température et humidité DHT11
 Des câbles Dupont
 Un T-cobbler
 un câble GPIO 40 brochespour démarrer.

1
3) Apprenez à connaître le capteur de température et d’humidité DHT11

Le DHT11 est un capteur peu coûteux et populaire pour mesurer la température et l’humidité.
Le module nécessite 3 connexions au Raspberry Pi: 3,3V; GND et une broche d’entrée GPIO.
Comme le signal de sortie est 3,3V, celui-ci peut être directement connecté à une broche
d’entrée GPIO du Raspberry Pi. La plage de température est comprise entre 0 et 50 ° C (+/-
2 ° C) et la plage d’humidité entre 20 et 90% (+/- 5%). Le capteur est assez lent et d’une
précision limitée, mais c’est un capteur idéal pour réaliser vos expériences.
4) Mettre en place la partie matérielle
Soyez prudent ! Avant de brancher des câbles sur les broches GPIO de votre Raspberry
Pi, assurez-vous d’éteindre correctement le Pi et de retirer le câble d’alimentation.

2
 Connectez le câble 40 broches sur les broches GPIO de votre Pi (si nécessaire, retirez
d’abord le cache de votre Pi)
 Branchez le T-cobbler sur le breadboard comme indiqué sur la figure ci-dessous
 Branchez l’autre extrémité du câble 40 broches dans le T-cobbler
 Reliez la broche VCC du capteur à une broche 3,3V (fil rouge)
 Reliez la broche OUTPUT du capteur à la broche 23 (fil jaune)
 Connectez le GND du capteur à une broche GPIO GND (fil noir)

5) Installez les bibliothèques Python


Le capteur DHT11 communique avec un protocole spécifique. Heureusement, nous n’avons
pas à nous occuper de ces détails et grâce à Adafruit, nous pouvons utiliser les bibliothèques
Python pour récupérer les mesures facilement. Pour télécharger les bibliothèques, assurez-
vous que votre Pi a accès à Internet. L’installation de ces bibliothèques prend un certain
temps. Mais soyez patient, à l’heure actuelle et pour autant que nous le sachions, c’est le
moyen le plus simple d’obtenir des mesures du capteur DHT11 avec le Raspberry Pi.

6) Preparez l’installation des bibliothèques CircuitPython


Pour pouvoir communiquer facilement avec certains capteurs, CircuitPython a été développé.
Ainsi, avant d’installer la bibliothèque DHT spécifique, nous devons effectuer un travail de
préparation.

Ouvrez une fenêtre terminale et introduisez les commandes suivantes:


3
sudo apt update

sudo apt full-upgrade

sudo apt install python3-pip

sudo pip3 install --upgrade setuptools

sudo reboot

Ensuite, installez et exécutez un script développé par Adafruit :

sudo pip3 install --upgrade adafruit-python-shell

wget [Link] Scripts/master/raspi-


[Link]

sudo python3 [Link]

Le script vous demandera probablement de mettre à jour votre version python vers la
version 3. Choisissez : y

À la fin du processus, il vous sera demandé de redémarrer. Choisissez : y

Après le redémarrage, nous sommes prêts à installer la bibliothèque DHT.

7) Installez la bibliothèque CircuitPython DHT


Ouvrez une fenêtre terminale et introduisez les commandes suivantes:

pip3 install adafruit-circuitpython-dht

sudo apt-get install libgpiod2

4
Ça y est, les bibliothèques nécessaires devraient être installées maintenant. Si vous avez
besoin de plus d’informations, visitez “Installing the CircuitPython-DHT Library“.

8) Ecrivez le code
Le but est d’écrire un programme Python très simple qui nous permet de visualiser la
température et l’humidité ambiante. Pour écrire le code, nous utilisons l’EDI Thonny. Vous
pouvez trouver Thonny dans le menu d’applications de votre Raspberry Pi.

Écrivez ou collez le code suivant dans l’EDI:

import time
import board
import adafruit_dht
import psutil
# We first check if a libgpiod process is running. If yes, we kill it!
for proc in psutil.process_iter():
if [Link]() == 'libgpiod_pulsein' or [Link]() == 'libgpiod_pulsei':
[Link]()
sensor = adafruit_dht.DHT11(board.D23)
while True:
try:
temp = [Link]
humidity = [Link]
print("Temperature: {}*C Humidity: {}% ".format(temp, humidity))
except RuntimeError as error:
print([Link][0])
[Link](2.0)
continue
except Exception as error:
[Link]()
raise error
[Link](2.0)

Quelques explications à propos du code:

 import board cette bibliothèque sera utilisée pour définir avec quelle broche GPIO nous
avons connecté le capteur DHT11.
 import adafruit_dht bibliothèque spécifique au capteur DHT.

5
 import psutil bibliothèque pour récupérer des informations sur les processus en cours.
 Attention, Python est sensible aux espaces. Ne supprimez pas le “tab” avant la ligne de
code après les commandes “for”, “if”, … !
 Après la section import, nous devons écrire du code pour éviter que notre script se
bloque après la première exécution. En effet, après avoir exécuté le script pour la
première fois avec Thonny, certains processus liés au capteur continuent de tourner en
arrière-plan. Et si nous voulons réexécuter notre script, le script se bloquera et affichera
un message d’erreur. Pour éviter cela, nous utilisons une solution pour contourner ce
problème. Ainsi, nous vérifions d’abord si les processus liés au capteur sont en cours
d’exécution. Si c’est le cas, nous les tuons. Par ailleurs, nous n’avons pas besoin de
cette solution de contournement si nous lançons notre script Python à partir de la
fenêtre du terminal.
 sensor = adafruit_dht.DHT11(board.D23) Ici, nous définissons le type de capteur et le
numéro de broche. Changez en DHT22 si vous utilisez ce type de capteur DHT. Et
changez le numéro de broche si vous utilisez une autre broche.
 temp = [Link] de la valeur de température du capteur.
 humidity = [Link] de la valeur d’humidité du capteur
 print("Temperature: {}*C Humidity: {}% ".format(temp, humidity)) impression des
résultats à l’écran. Compte tenu de la précision des capteurs, les résultats sont formatés
sans décimales.
 Les capteurs DHT sont difficiles à lire pour les systèmes d’exploitation basés sur
Linux. C’est pourquoi les erreurs de lecture se produisent assez souvent (voir l’exemple
juste ci-dessous). Après avoir imprimé le type d’erreur, nous continuons avec la lecture
suivante.
 [Link](2.0): attendre 2 secondes.

Exécutez le programme
Avant de lancer le programme, vous devrez le donner un nom et le sauvegarder.

6
Aprés avoir sauvegardé le code, cliquez sur le bouton Run. Vous verrez s’afficher la
température et l’humidité mesurée toutes les 2 secondes.

Vous aimerez peut-être aussi