Le starter kit Arduino Officiel

Pour débutant – Manuel en Français

Apprenez l’Arduino et l’électronique de façon pratique

Avec Amazon prime vous bénéficiez de la livraison gratuite en 1 jours ouvré. 30 jours d’essais gratuits dans obligation d’abonnement!

Tutoriel Arduino – Mesure de température et d’humidité avec l’Arduino

Mesure de température et d’humidité avec l’arduino et un DHT11

Dans cet articles nous allons voir comment mesurer la température ambiante et l’humidité grâce à l’Arduino et un petit module DHT11. Ce type de montage peut-être utile dans des terrarium, pour la fabrication d’une station météo ou d’autres projets nécessitants de relever ces mesures.

Ce dont vous aurez besoin

Caractéristiques du DHT11

  • Mesure de la température de 0 à 50°C.
  • Mesure du taux d’humidité de 20 à 96%.
  • Alimentation en courant continu comprise entre 3V et 5.5V.
  • Consommation : Comprise entre 0.5 mA et 2.5 mA
  • Dimension (Longueur, largeur, Hauteur): 15.5mm, 12mm, 5.5mm.
  • Précision pour la mesure de température: ± 2°
  • Précision pour le taux d’humidité: ± 5%
  • Nombre de broches: 4

D’après la fiche technique:

  • Excellente stabilité à long terme et de temps de réponse très rapide.
  • Poids très léger et petite taille.

D’après différents forums que j’ai pu consulter

  • Plutôt fiable et peu coûteux mais si besoin de précisions, préférer un DHT22

PINOUT du DHT11

Capteur face a vous, de gauche à droite: VCC | DATA | NC | GDD

brochage_dht

Ajoutez une resistance 10K entre VCC et DATA

schemadht

Code

Pour commencer installons librairie DHT D’Adafruit dans l’IDE Arduino

Librairie DHT D’Adafruit pour Arduino

Allez dans l’onglet “Croquis” -> “Importer bibliothèque” -> “Add library”.

Une fois la librairie ajoutée fermez l’ide Arduino. Ci-dessous comment installer une librairie.

Pour un premier test, il n’y a pas grand choses a faire, la librairie d’adafruit est des plus simples

Lancer l’ide Arduino.

Allez dans fichiers -> Examples -> DHT-sensor-library-master -> DHTtester
Commentez la ligne: #define DHTTYPE DHT22 // DHT 22 (AM2302)

ET

Décommentez la ligne: #define DHTTYPE DHT11 // DHT 11.

Chargez votre programme, lancer le moniteur série et voyez s’afficher le résultat.

[crayon-609b656e57817914759590/]

 

 // Example testing sketch for various DHT humidity/temperature sensors
            // Written by ladyada, public domain

            #include "DHT.h"

            #define DHTPIN 2     // what pin we're connected to

            // Uncomment whatever type you're using!
            #define DHTTYPE DHT11   // DHT 11 
            //#define DHTTYPE DHT22   // DHT 22  (AM2302)
            //#define DHTTYPE DHT21   // DHT 21 (AM2301)

            // Connect pin 1 (on the left) of the sensor to +5V
            // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
            // to 3.3V instead of 5V!
            // Connect pin 2 of the sensor to whatever your DHTPIN is
            // Connect pin 4 (on the right) of the sensor to GROUND
            // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

            // Initialize DHT sensor for normal 16mhz Arduino
            DHT dht(DHTPIN, DHTTYPE);
            // NOTE: For working with a faster chip, like an Arduino Due or Teensy, you
            // might need to increase the threshold for cycle counts considered a 1 or 0.
            // You can do this by passing a 3rd parameter for this threshold.  It's a bit
            // of fiddling to find the right value, but in general the faster the CPU the
            // higher the value.  The default for a 16mhz AVR is a value of 6.  For an
            // Arduino Due that runs at 84mhz a value of 30 works.
            // Example to initialize DHT sensor for Arduino Due:
            //DHT dht(DHTPIN, DHTTYPE, 30);

            void setup() {
              Serial.begin(9600); 
              Serial.println("DHTxx test!");
             
              dht.begin();
            }

            void loop() {
              // Wait a few seconds between measurements.
              delay(2000);

              // Reading temperature or humidity takes about 250 milliseconds!
              // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
              float h = dht.readHumidity();
              // Read temperature as Celsius
              float t = dht.readTemperature();
              // Read temperature as Fahrenheit
              float f = dht.readTemperature(true);
              
              // Check if any reads failed and exit early (to try again).
              if (isnan(h) || isnan(t) || isnan(f)) {
                Serial.println("Failed to read from DHT sensor!");
                return;
              }

              // Compute heat index
              // Must send in temp in Fahrenheit!
              float hi = dht.computeHeatIndex(f, h);

              Serial.print("Humidity: "); 
              Serial.print(h);
              Serial.print(" %\t");
              Serial.print("Temperature: "); 
              Serial.print(t);
              Serial.print(" *C ");
              Serial.print(f);
              Serial.print(" *F\t");
              Serial.print("Heat index: ");
              Serial.print(hi);
              Serial.println(" *F");
            }

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Inscrivez-vous a la newsletter

Inscrivez-vous a la newsletter

Soyez les premiers avertis de nouveaux tutos, mises à jours, bon plans,...

Merci et à bientôt!

Pin It on Pinterest

Share This