samedi 20 juin 2015

Arduino et DHT11 - Capteur de Température et d'Humidité

Capteur de Température et d'Humidité DHT11 Arduino


Dans ce tutoriel je vais vous apprendre à utiliser un module pour la carte de programmation Arduino qui est le DHT11.

Ce module DHT11 est une sonde permettant de mesurer la température et l'humidité, contrairement à un DS18B20 ou à un LM35 qui sont fait seulement pour fonctionner comme capteur de température et non pour capter l'humidité.
Il vous faudra donc identifier quel module utiliser selon les besoins de votre projet.

Sonde DHT11 Température et Humidité - Face Avant

Sonde DHT11 Température et Humidité - Face Arrière


Pour utiliser cette sonde vous avez seulement besoin :

- d'une carte Arduino ( MEGA2560 de préférence c'est plus simple)
- de câbles Dupont Mâle et Femelle 
- d'un module DHT11
- d'un câble usb pour communiquer avec le PC


Cette sonde est très simple à utiliser, elle dispose de 3 pins qui sont  le VCC, le OUT et le GND.

Pour que ce module DHT11 fonctionne avec arduino il vous faudra brancher le VCC au 5V, le OUT à un pin Digital ( exemple: D5 ) et le GND au GROUND.

Voici un exemple de câblage pour vous faire une idée.

Carte Arduino + Sonde Température et Humidité DHT11


Une fois les branchements effectués il va falloir installer la librairie DHTLib qui est disponible ici : Librairie DHT11 - DHTLib

Ensuite, vous avez le choix de copier/coller la version test de DHTLib traduite en français par mes soins ou bien de charger le fichier DHT11_test à partir de la librairie DHTLib sur le logiciel Arduino.

DHT11_Test  Français :


//
//    DHT11 - Version Test
// Traduite en français par le site MakeDuino.blogspot.fr
//



// Charger la Librairie
#include <dht.h>

dht DHT;

// Choisir le numéro du port Digital du DHT11
#define DHT11_PIN 5

void setup()
{
  Serial.begin(115200);
  Serial.println("DHT TEST PROGRAM ");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT_LIB_VERSION);
  Serial.println();
  Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}

void loop()
{
  // Lecture des Données - Température et Humidité
  Serial.print("DHT11, \t");
  int chk = DHT.read11(DHT11_PIN);
  switch (chk)
  {
    case DHTLIB_OK: 
        Serial.print("OK,\t");
        break;
    case DHTLIB_ERROR_CHECKSUM:
        Serial.print("Checksum error,\t");
        break;
    case DHTLIB_ERROR_TIMEOUT:
        Serial.print("Time out error,\t");
        break;
    case DHTLIB_ERROR_CONNECT:
        Serial.print("Connect error,\t");
        break;
    case DHTLIB_ERROR_ACK_L:
        Serial.print("Ack Low error,\t");
        break;
    case DHTLIB_ERROR_ACK_H:
        Serial.print("Ack High error,\t");
        break;
    default:
        Serial.print("Unknown error,\t");
        break;
  }
  // Affichage des Données - Température et Humidité
  Serial.print(DHT.humidity, 1);
  Serial.print(",\t");
  Serial.println(DHT.temperature, 1);

  delay(2000);
}
//
// END OF FILE
//


Voila j’espère vous avoir aider à faire fonctionner votre capteur de température DHT11 sous Arduino et si vous avez des questions où bien des améliorations à porter sur mon tutoriel n'hésitez pas à laisser un commentaire.

1 commentaire:

  1. bonjour, j'ais branché mon capteur DHT11 comme indiquer si dessus, mais ma carte arduino uno R3 m'indique : erreur de compilation pour la carte arduino/Geguino uno.
    ou est le problème ?
    A bientôt et merci d'avance.

    RépondreSupprimer