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
Le capteur DHT11 est une combinaison de capteur de température et d'humidité dans un format compact. Il mesure les températures de 0°C à 50°C avec une précision de ±2°C et l'humidité relative de 20% à 90% avec une précision de ±5%. En raison de son faible taux d'échantillonnage, le capteur ne fournit de nouvelles valeurs de mesure que toutes les deux secondes, ce qui le rend idéal pour les mesures à long terme. Le DHT11 est facile à intégrer dans des plateformes de microcontrôleurs comme Arduino et Raspberry Pi et ne nécessite aucun étalonnage supplémentaire grâce à l'étalonnage effectué en usine. Sa conception robuste et sa fiabilité en font le choix idéal pour les projets de surveillance continue tels que les serres, les systèmes de contrôle climatique et la surveillance des entrepôts.
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
Arduino | Capteur |
---|---|
Pin 2 | Signal |
5V | +V |
GND | GND |
Exemple de code
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
Le capteur DHT11 est une combinaison de capteur de température et d'humidité dans un format compact. Il mesure les températures de 0°C à 50°C avec une précision de ±2°C et l'humidité relative de 20% à 90% avec une précision de ±5%. En raison de son faible taux d'échantillonnage, le capteur ne fournit de nouvelles valeurs de mesure que toutes les deux secondes, ce qui le rend idéal pour les mesures à long terme. Le DHT11 est facile à intégrer dans des plateformes de microcontrôleurs comme Arduino et Raspberry Pi et ne nécessite aucun étalonnage supplémentaire grâce à l'étalonnage effectué en usine. Sa conception robuste et sa fiabilité en font le choix idéal pour les projets de surveillance continue tels que les serres, les systèmes de contrôle climatique et la surveillance des entrepôts.
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
Raspberry Pi | Capteur |
---|---|
GPIO 23 [Pin 16] | Signal |
+3,3V [Pin 1] | +V |
GND [Pin 6] | GND |
Exemple de code
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
Le capteur DHT11 est une combinaison de capteur de température et d'humidité dans un format compact. Il mesure les températures de 0°C à 50°C avec une précision de ±2°C et l'humidité relative de 20% à 90% avec une précision de ±5%. En raison de son faible taux d'échantillonnage, le capteur ne fournit de nouvelles valeurs de mesure que toutes les deux secondes, ce qui le rend idéal pour les mesures à long terme. Le DHT11 est facile à intégrer dans des plateformes de microcontrôleurs comme Arduino et Raspberry Pi et ne nécessite aucun étalonnage supplémentaire grâce à l'étalonnage effectué en usine. Sa conception robuste et sa fiabilité en font le choix idéal pour les projets de surveillance continue tels que les serres, les systèmes de contrôle climatique et la surveillance des entrepôts.
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
Micro:Bit | Capteur |
---|---|
Pin 1 | Signal |
3V | +V |
GND | GND |
Exemple de code
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.
basic.forever(function () {
dht11_dht22.queryData(
DHTtype.DHT11,
DigitalPin.P1,
true,
false,
true
)
basic.showString("T:" + dht11_dht22.readData(dataType.temperature) + "C")
basic.pause(2000)
dht11_dht22.queryData(
DHTtype.DHT11,
DigitalPin.P1,
true,
false,
true
)
basic.showString("H:" + dht11_dht22.readData(dataType.humidity) + "%")
basic.pause(2000)
})
Téléchargement d'un exemple de programme
Le capteur DHT11 est une combinaison de capteur de température et d'humidité dans un format compact. Il mesure les températures de 0°C à 50°C avec une précision de ±2°C et l'humidité relative de 20% à 90% avec une précision de ±5%. En raison de son faible taux d'échantillonnage, le capteur ne fournit de nouvelles valeurs de mesure que toutes les deux secondes, ce qui le rend idéal pour les mesures à long terme. Le DHT11 est facile à intégrer dans des plateformes de microcontrôleurs comme Arduino et Raspberry Pi et ne nécessite aucun étalonnage supplémentaire grâce à l'étalonnage effectué en usine. Sa conception robuste et sa fiabilité en font le choix idéal pour les projets de surveillance continue tels que les serres, les systèmes de contrôle climatique et la surveillance des entrepôts.
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
Raspberry Pi Pico | Capteur |
---|---|
GPIO14 | Signal |
3.3V | +V |
GND | GND |
Exemple de code
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 ***.