Arduino - Capteur de température et d'humidité - LCD

Nous apprendrons comment :

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×LCD I2C
1×Temperature and Humidity Sensor DHT11
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

You can use DHT22 sensor instead of DHT11 sensor.

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de DHT11, DHT22 et LCD

Si vous ne connaissez pas les capteurs de température DHT11, DHT22 et l'écran LCD (brochage, fonctionnement, programmation, ...), renseignez-vous grâce aux tutoriels suivants :

Diagramme de câblage

Arduino - Câblage du module DHT11 avec un écran LCD

Schéma de câblage LCD de température et d'humidité Arduino DHT11

This image is created using Fritzing. Click to enlarge image

Arduino - Câblage du module DHT22 avec un écran LCD

Schéma de câblage LCD de température et d'humidité Arduino DHT22

This image is created using Fritzing. Click to enlarge image

Câblage réel pour DHT11

Câblage Arduino DHT11 LCD

This image is created using Fritzing. Click to enlarge image

Code Arduino - Capteur DHT11 - LCD I2C

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-temperature-humidity-sensor-lcd */ #include <LiquidCrystal_I2C.h> #include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT11 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht(DHTPIN, DHTTYPE); void setup() { dht.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { delay(2000); // wait a few seconds between measurements float humi = dht.readHumidity(); // read humidity float tempC = dht.readTemperature(); // read temperature lcd.clear(); // check if any reads failed if (isnan(humi) || isnan(tempC)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // start to print at the first row lcd.print("Temp: "); lcd.print(tempC); // print the temperature lcd.print((char)223); // print ° character lcd.print("C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Humi: "); lcd.print(humi); // print the humidity lcd.print("%"); } }

※ NOTE THAT:

L'adresse I2C de l'écran LCD peut varier selon les fabricants. Dans le code, nous avons utilisé 0x27 qui est spécifié par le fabricant DIYables.

Étapes rapides

  • Connectez l'Arduino au PC via un câble USB
  • Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
  • Naviguez vers l'icône Libraries sur la barre gauche de l'IDE Arduino.
  • Recherchez "DHT", puis trouvez la bibliothèque de capteurs DHT par Adafruit
  • Cliquez sur le bouton Install pour installer la bibliothèque.
Bibliothèque de capteurs DHT Arduino
  • Vous devrez installer certaines autres dépendances de bibliothèque.
  • Cliquez sur le bouton Install All pour toutes les dépendances de la bibliothèque.
Bibliothèque de capteurs unifiée Arduino Adafruit
  • Recherchez « LiquidCrystal I2C », puis trouvez la bibliothèque LiquidCrystal_I2C de Frank de Brabander.
  • Cliquez sur le bouton Install pour installer la bibliothèque LiquidCrystal_I2C.
Bibliothèque LiquidCrystal I2C pour Arduino
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code vers Arduino
  • Rendez l'environnement autour du capteur plus chaud ou plus froid
  • Observez le résultat sur l'écran LCD
Câblage Arduino DHT11 LCD

This image is created using Fritzing. Click to enlarge image

Le code ci-dessus fonctionne également pour Arduino Nano. Un grand-père, qui apprend grâce à ce tutoriel pour guider son petit-enfant, a testé ce code avec Arduino Nano et nous a envoyé le résultat comme ci-dessous :

Afficher la température et l'humidité sur un écran LCD avec Arduino

Si l'écran LCD n'affiche rien, consultez Dépannage sur LCD I2C

Code Arduino - Capteur DHT22 - LCD I2C

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-temperature-humidity-sensor-lcd */ #include <LiquidCrystal_I2C.h> #include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT22 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht(DHTPIN, DHTTYPE); void setup() { dht.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { delay(2000); // wait a few seconds between measurements float humi = dht.readHumidity(); // read humidity float tempC = dht.readTemperature(); // read temperature lcd.clear(); // check if any reads failed if (isnan(humi) || isnan(tempC)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // start to print at the first row lcd.print("Temp: "); lcd.print(tempC); // print the temperature lcd.print((char)223); // print ° character lcd.print("C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Humi: "); lcd.print(humi); // print the humidity lcd.print("%"); } }

※ NOTE THAT:

Le code pour DHT11 et DHT22 est identique, à l'exception d'une ligne de code. La bibliothèque pour DHT11 et DHT22 est la même.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!