KY-015 Capteur de t° et d'humidité DHT-11
Ce capteur est un mélange de capteur de température et de capteur d'humidité dans un design compact.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit

Ce capteur est un mélange de capteur de température et de capteur d'humidité dans un design compact - l'inconvénient, cependant, est le faible taux d'échantillonnage de la mesure, de sorte qu'un nouveau résultat de mesure n'est disponible que toutes les 2 secondes - ce capteur est donc très bien adapté aux mesures à long terme.
Données techniques
Chipset | DHT11 |
Protocole de communication | 1-Wire |
Plage de mesure | 0°C á 50°C |
Précision de mesure | ±2°C |
Précision de mesure | ±5%RH |
Humidité mesurable | 20-90%RH |
Affectation des broches
Exemple de code Arduino
Affectation des broches Arduino
Arduino | Capteur |
---|---|
Pin 2 | Signal |
5V | +V |
GND | GND |
L'exemple de code suivant nécessite une bibliothèque supplémentaire :
DHT-sensor-library by Adafruit | publié sous la Licence MIT
Ce capteur ne transmet pas son résultat de mesure sous forme de signal analogique à une broche de sortie, mais le communique sous forme de code numérique.
L'exemple ci-dessous utilise cette bibliothèque - nous vous recommandons de la télécharger depuis Github, de la décompresser et de la copier dans le dossier des bibliothèques Arduino, qui se trouve par défaut à (C:\User[nom d'utilisateur]\Documents\Arduino\libraries), afin qu'elle soit disponible pour cet exemple de code et les projets suivants. Alternativement, ceci est également inclus dans le paquet de téléchargement ci-dessous.
// Insertion de la librairie Adafruit_DHT
#include "DHT.h"
// déclaration de la broche d'entrée
#define DHTPIN 2
// initialisation du capteur
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
Serial.println("Test du module KY-015 Test - Temperature et humidite:");
// début de la mesure
dht.begin();
}
// Boucle de programme principale
// Début du programme et lecture des mesures
// Une pause de 2 secondes est insérée entre 2 mesures
void loop() {
// délai de 2 secondes entre 2 mesures
delay(2000);
// mesure de l'humidité
float h = dht.readHumidity();
// mesure de la température
float t = dht.readTemperature();
// on vérifie si les mesures sont exécutées sans faute
// Lors de la détection d'une erreur, affichage d'un message d'erreur
if (isnan(h) || isnan(t)) {
Serial.println("Erreur de lecture du capteur");
return;
}
// Envoi dans la console série
Serial.println("-----------------------------------------------------------");
Serial.print("Humidite: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(char(186)); //Affiche le symbole <°>
Serial.println("C ");
Serial.println("-----------------------------------------------------------");
Serial.println(" ");
}
Veuillez noter que le capteur ne fournit un nouveau résultat de mesure que toutes les 2 secondes environ ; il est donc plutôt conçu pour les enregistrements à long terme.
Télécharger l'exemple de programme

Ce capteur est un mélange de capteur de température et de capteur d'humidité dans un design compact - l'inconvénient, cependant, est le faible taux d'échantillonnage de la mesure, de sorte qu'un nouveau résultat de mesure n'est disponible que toutes les 2 secondes - ce capteur est donc très bien adapté aux mesures à long terme.
Données techniques
Chipset | DHT11 |
Protocole de communication | 1-Wire |
Plage de mesure | 0°C á 50°C |
Précision de mesure | ±2°C |
Précision de mesure | ±5%RH |
Humidité mesurable | 20-90%RH |
Affectation des broches
Exemple de code Raspberry Pi
Affectation des broches Raspberry Pi
Raspberry Pi | Capteur |
---|---|
GPIO 23 [Pin 16] | Signal |
+3,3V [Pin 1] | +V |
GND [Pin 6] | GND |
Le programme utilise la bibliothèque correspondante Adafruit_CircuitPython_DHT d'Adafruit pour contrôler le capteur DHT11 qui est installé sur ce module capteur. Il a été publié avec la licence MIT OpenSource license.
Il faut d'abord l'installer. Pour ce faire, procédez comme suit :
Il faut d'abord mettre à jour et installer les modules système nécessaires. Pour cela, il faut entrer les trois commandes suivantes et les confirmer avec la touche "Enter" (il se peut que vous deviez également les confirmer avec la touche "Y") :
sudo apt-get update
sudo apt-get install build-essential python-dev
et
sudo apt install gpiod
Avec la commande...
sudo pip3 install adafruit-circuitpython-dht
... la version actuelle de la bibliothèque Adafruit_CircuitPython_DHT peut être téléchargée et installée.
Après cela, l'exemple de code Python suivant peut être utilisé. Le programme démarre la mesure au niveau du capteur et sort les valeurs mesurées pour la pression atmosphérique et la température (en °C et F).
Lorsque vous redémarrez le code, vous devez attendre un moment avant de le faire pour éviter les messages d'erreur inutiles.
import time
import board
import adafruit_dht
# Initialisez le dispositif dht avec la broche de données connectée à la broche 16 (GPIO 23) du Raspberry Pi :
dhtDevice = adafruit_dht.DHT11(board.D23)
# Vous pouvez passer DHT22 use_pulseio=False si vous ne voulez pas utiliser pulseio.
# Cela peut être nécessaire sur un ordinateur monocarte Linux comme le Raspberry Pi,
# mais cela ne fonctionnera pas avec CircuitPython.
# dhtDevice = adafruit_dht.DHT22(board.D18, use_pulseio=False)
while True:
try:
# Imprimer les valeurs via l'interface série
temperature_c = dhtDevice.temperature
temperature_f = temperature_c * (9 / 5) + 32
humidity = dhtDevice.humidity
print("Temp: {:.1f} F / {:.1f} C Humidity: {}% ".format(temperature_f, temperature_c, humidity))
except RuntimeError as error:
# Les erreurs sont assez fréquentes, les DHT sont difficiles à lire, passez à autre chose.
print(error.args[0])
time.sleep(2.0)
continue
except Exception as error:
dhtDevice.exit()
raise error
time.sleep(2.0)
Veuillez noter que le capteur ne fournit un nouveau résultat de mesure que toutes les 2 secondes environ ; il est donc plutôt conçu pour les enregistrements à long terme.
Téléchargement d'un exemple de programme
Pour commencer avec la commande :
sudo python3 KY015-RPi.py

Ce capteur est un mélange de capteur de température et de capteur d'humidité dans un design compact - l'inconvénient, cependant, est le faible taux d'échantillonnage de la mesure, de sorte qu'un nouveau résultat de mesure n'est disponible que toutes les 2 secondes - ce capteur est donc très bien adapté aux mesures à long terme.
Données techniques
Chipset | DHT11 |
Protocole de communication | 1-Wire |
Plage de mesure | 0°C á 50°C |
Précision de mesure | ±2°C |
Précision de mesure | ±5%RH |
Humidité mesurable | 20-90%RH |
Affectation des broches
Exemple de code Micro:Bit
Affectation des broches Micro:Bit :
Micro:Bit | Capteur |
---|---|
Pin 1 | Signal |
3V | +V |
GND | GND |
Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les deux autres exemples. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.
Pour l'exemple de code suivant, une bibliothèque supplémentaire est nécessaire :
pxt-DHT11_DHT22 by alankrantas | publié sous la licence MIT.
Vous devez ajouter cette bibliothèque à votre IDE avant d'utiliser le code.
Pour ce faire, allez dans Extensions dans votre IDE et utilisez l'URL suivante https://github.com/alankrantas/pxt-DHT11_DHT22.git pour rechercher la bibliothèque et l'ajouter.

Téléchargement d'un exemple de programme

Ce capteur est un mélange de capteur de température et de capteur d'humidité dans un design compact - l'inconvénient, cependant, est le faible taux d'échantillonnage de la mesure, de sorte qu'un nouveau résultat de mesure n'est disponible que toutes les 2 secondes - ce capteur est donc très bien adapté aux mesures à long terme.
Données techniques
Chipset | DHT11 |
Protocole de communication | 1-Wire |
Plage de mesure | 0°C á 50°C |
Précision de mesure | ±2°C |
Précision de mesure | ±5%RH |
Humidité mesurable | 20-90%RH |
Affectation des broches
Exemple de code Raspberry Pi Pico
Affectation des broches Raspberry Pi Pico
Raspberry Pi Pico | Capteur |
---|---|
GPIO14 | Signal |
3.3V | +V |
GND | GND |
Pour l'exemple de code suivant, une bibliothèque supplémentaire est nécessaire :
micropython-stubs par Jos Verlinde | publié sous la Licence MIT.
Ce capteur ne sort pas son résultat de mesure sous forme de signal analogique sur une broche de sortie, mais le communique sous forme de code numérique.
# Chargement des bibliothèques
from machine import Pin
from utime import sleep
from dht import DHT11
# Initialisation GPIO14 et DHT11
sleep(1)
dht11_sensor = DHT11(Pin(14, Pin.IN, Pin.PULL_UP))
# Répétition (boucle sans fin)
while True:
# Effectuer des mesures
dht11_sensor.measure()
# Lecture des valeurs
temp = dht11_sensor.temperature()
humi = dht11_sensor.humidity()
# Sortie des valeurs
print("Température: {}°C Humidité: {:.0f}% ".format(temp, humi))
print()
sleep(3)
***Veuillez noter que le capteur ne fournit un nouveau résultat de mesure que toutes les 2 secondes environ ***.