• 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

KY015-Arduino.zip

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

KY015-RPi.zip

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

microbit-KY-015.zip

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 ***.

Téléchargement d'un exemple de programme

KY015-Pico.zip