Arduino - DHT11 - LCD

Nous allons apprendre à programmer Arduino pour lire la température et l'humidité à partir du module DHT11 et les afficher sur un LCD I2C.

Préparation du matériel

1×Arduino Uno R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×LCD I2C
1×DHT11 Module
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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 du DHT11 et de l'écran LCD

Si vous ne connaissez pas le capteur DHT11 et l'écran LCD (brochage, fonctionnement, programmation...), renseignez-vous sur ces derniers dans les tutoriels suivants :

Diagramme de câblage

Schéma de câblage Arduino DHT11 LCD

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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-dht11-lcd */ #include <LiquidCrystal_I2C.h> #include <DHT.h> #define DHT11_PIN 2 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht11(DHT11_PIN, DHT11); void setup() { dht11.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 = dht11.readHumidity(); // read humidity float tempC = dht11.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:

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 Arduino au PC via le 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 capteur DHT Arduino
  • On vous demandera d'installer d'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 dans l'IDE Arduino pour charger le code sur 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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

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

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !