
Dans ce tutoriel, 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 tutoriel, 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. Ce tutoriel peut également être utilisé pour le capteur DHT22.

La carte Rock 4C+ est une parfaite alternative au Raspberry Pi 4
Nos kits de démarrage sont disponibles et prêts à être expédiés !
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. Si vous n’êtes pas familier avec Python ou avec Thonny ou avec les broches GPIO, je vous suggère de consulter nos tutoriels “Comment débuter à programmer en Python sur Raspberry Pi” et/ou “Comment utiliser les broches GPIO du Raspberry Pi” pour une introduction rapide.
Préparez le matériel supplémentaire
Ensuite, vous aurez besoin d’un peu de matériel supplémentaire:
- un breadboard (nous utilisons un breadboard de 400 points)
- un capteur de température et humidité DHT11 ou DHT22
- des câbles Dupont
- un T-cobbler
- un câble GPIO 40 broches
Si vous manquez des pièces, n’hésitez pas à visiter notre boutique. Nous avons un kit bien conçu contenant toutes les pièces dont vous avez besoin pour démarrer.
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.
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 de la carte mère!

- 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-dessus ou 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)

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.
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 terminal et introduisez les commandes suivantes:
Dans notre cas, il est vraiment important d’utiliser la dernière version de Raspberry Pi OS ! Même si cela prend du temps, ne sautez pas l’étape suivante !
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 https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/raspi-blinka.py sudo python3 raspi-blinka.py
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. Si vous rencontrez des problèmes, consultez “Installing CircuitPython Libraries on Raspberry Pi” . Cette page Web d’Adafruit vous donnera plus d’explications.
Installez la bibliothèque CircuitPython DHT
Ouvrez une fenêtre terminal et introduisez les commandes suivantes:
pip3 install adafruit-circuitpython-dht sudo apt-get install libgpiod2
Ç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“.
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 proc.name() == 'libgpiod_pulsein' or proc.name() == 'libgpiod_pulsei': proc.kill() sensor = adafruit_dht.DHT11(board.D23) while True: try: temp = sensor.temperature humidity = sensor.humidity print("Temperature: {}*C Humidity: {}% ".format(temp, humidity)) except RuntimeError as error: print(error.args[0]) time.sleep(2.0) continue except Exception as error: sensor.exit() raise error time.sleep(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.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 = sensor.temperature
lecture de la valeur de température du capteur.humidity = sensor.humidity
lecture de la valeur d’humidité du capteurprint("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.
time.sleep(2.0)
: attendre 2 secondes.
Exécutez le programme
Avant de lancer le programme, vous devrez le donner un nom et le sauvegarder.

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.
Félicitations! Avec cette configuration, vous pouvez lire la température et humidité ambiante. Vous pouvez également utiliser le script pour traiter le résultat dans une application dans laquelle vous souhaitez surveiller la température et l’humidité par exemple. Ayez encore beaucoup de plaisir!