Thermomètre à écran
Avec un DHT11 et un écran LCD, tu affiches la température et l'humidité de ta chambre en temps réel. Ton premier vrai instrument de mesure.
Pratique pendant les fortes chaleurs : tu sais exactement quand il fait 35 °C contre 38 °C.
SunuMake Capteurs
Mesure ton environnement — 7 composants inclus.
Les étapes
- 1
Matériel et bibliothèques
1 capteur DHT11 (3 broches), 1 écran LCD 16×2 avec backpack I2C (4 broches), 7 fils. Dans Arduino IDE : Outils → Gérer les bibliothèques → installe « DHT sensor library » d'Adafruit ET « LiquidCrystal_I2C » de Frank de Brabander.
- 2
Câble le DHT11
Le DHT11 a 3 broches (parfois 4 — ignore celle marquée NC). VCC → 5 V. GND → GND. DATA → broche 2 de l'Arduino. Place une résistance 10 kΩ entre VCC et DATA (résistance de pull-up).
- 3
Câble le LCD I2C
L'écran LCD avec backpack I2C n'a que 4 fils. VCC → 5 V. GND → GND. SDA → A4. SCL → A5. Le bus I2C utilise ces 2 fils (SDA et SCL) pour communiquer avec n'importe quel composant compatible.
- 4
Téléverse et lis l'écran
Téléverse le code. L'écran doit afficher « Temp: 28.0 C » sur la première ligne et « Humi: 65 % » sur la seconde. Si l'écran reste vide ou rempli de carrés noirs, ajuste le petit potentiomètre bleu à l'arrière du backpack I2C pour régler le contraste.
- 5
Si l'écran ne s'allume pas
L'adresse I2C par défaut est 0x27. Sur certains modules elle peut être 0x3F. Si rien ne s'affiche, change `lcd(0x27, ...)` en `lcd(0x3F, ...)` et re-téléverse.
Le programme à téléverser
Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).
// Thermomètre à écran — DHT11 sur la broche 2, LCD I2C sur A4/A5#include <DHT.h>#include <LiquidCrystal_I2C.h>DHT dht(2, DHT11); // capteur sur la broche 2LiquidCrystal_I2C lcd(0x27, 16, 2); // adresse I2C, 16 colonnes, 2 lignesvoid setup() { dht.begin(); lcd.init(); lcd.backlight();}void loop() { float t = dht.readTemperature(); // en °C float h = dht.readHumidity(); // en % lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(t, 1); // 1 chiffre après la virgule lcd.print(" C"); lcd.setCursor(0, 1); lcd.print("Humi: "); lcd.print(h, 0); lcd.print(" %"); delay(2000); // le DHT11 n'aime pas être lu plus vite que toutes les 2 s}Comment ça marche ?
Le DHT11 est un capteur tout-en-un qui mesure température et humidité, et te renvoie déjà les valeurs converties. Tu n'as pas à faire de calcul — la bibliothèque DHT.h gère le protocole de communication complexe (un protocole 1-fil propre à ce capteur) pour toi.
Le bus I2C (*Inter-Integrated Circuit*) est un moyen astucieux de connecter plusieurs composants avec seulement 2 fils (SDA = données, SCL = horloge). Chaque composant a une adresse unique. Notre LCD à l'adresse 0x27 reçoit les caractères à afficher via ces 2 fils — au lieu d'utiliser 6 broches comme un LCD classique.
Le delay(2000) est important : le DHT11 a besoin d'au moins 1 seconde entre deux mesures. Si tu le lis plus vite, tu obtiens des erreurs (NaN).